Я слишком поздно в игре для этого, но вы можете сделать сравнение производительности некоторых из вышеупомянутого кода с этим, два из самых быстрых соперников:
list(set(x).symmetric_difference(set(y)))
list(set(x) ^ set(y))
Извиняюсь для элементарного уровня кодирования.
import time
import random
from itertools import filterfalse
# 1 - performance (time taken)
# 2 - correctness (answer - 1,4,5,6)
# set performance
performance = 1
numberoftests = 7
def answer(x,y,z):
if z == 0:
start = time.clock()
lists = (str(list(set(x)-set(y))+list(set(y)-set(y))))
times = ("1 = " + str(time.clock() - start))
return (lists,times)
elif z == 1:
start = time.clock()
lists = (str(list(set(x).symmetric_difference(set(y)))))
times = ("2 = " + str(time.clock() - start))
return (lists,times)
elif z == 2:
start = time.clock()
lists = (str(list(set(x) ^ set(y))))
times = ("3 = " + str(time.clock() - start))
return (lists,times)
elif z == 3:
start = time.clock()
lists = (filterfalse(set(y).__contains__, x))
times = ("4 = " + str(time.clock() - start))
return (lists,times)
elif z == 4:
start = time.clock()
lists = (tuple(set(x) - set(y)))
times = ("5 = " + str(time.clock() - start))
return (lists,times)
elif z == 5:
start = time.clock()
lists = ([tt for tt in x if tt not in y])
times = ("6 = " + str(time.clock() - start))
return (lists,times)
else:
start = time.clock()
Xarray = [iDa for iDa in x if iDa not in y]
Yarray = [iDb for iDb in y if iDb not in x]
lists = (str(Xarray + Yarray))
times = ("7 = " + str(time.clock() - start))
return (lists,times)
n = numberoftests
if performance == 2:
a = [1,2,3,4,5]
b = [3,2,6]
for c in range(0,n):
d = answer(a,b,c)
print(d[0])
elif performance == 1:
for tests in range(0,10):
print("Test Number" + str(tests + 1))
a = random.sample(range(1, 900000), 9999)
b = random.sample(range(1, 900000), 9999)
for c in range(0,n):
#if c not in (1,4,5,6):
d = answer(a,b,c)
print(d[1])
Вы не можете этого сделать без умных хаков.
Однако вы можете (и должны) использовать следующий CSS для устранения проблем с масштабированием на мобильных устройствах:
header {
position: fixed;
...
}
@media only screen and (max-width: 720px) {
header {
position: absolute;
}
}
Этот код позволяет position: absolute
, когда ширина экрана меньше или равна 720px, а заголовок становится частью страницы, а не фиксируется сверху.
Короче, вы, конечно, можете это сделать.
Вы можете захватывать события изменения размера окна и изменять размер вашего плавающего div в соответствии с изменением dpi, вычисленным из различных новых атрибутов окна и внутренней ширины и высоты.
Итак, когда вы увеличиваете , вы хотите сжимать плавающий div, чтобы он сохранял исходные значения dpi, и наоборот.
] Это будет эпическая скрипка - скоро повторите этот ответ, так как мне, возможно, придется это сделать. Уже заметили некоторые кросс-браузерные несоответствия с разрешением dpi, так что да, весело.
Если вы используете угловой, есть способ дать одному id вашему заголовку div, а затем записать следующий код в контроллере:
document.getElementById("viewport").setAttribute('content','user-scalable=yes, width=device-width, minimum-scale=1, maximum-scale=1');
Я использовал в своем проект, и он работал хорошо ..
Я не думаю, что вы можете сделать это напрямую. Один из возможных вариантов - обнаружить масштабирование через js-события и элементы масштабирования соответственно.
Другой вариант - «разбить» клавишу CTRL, чтобы отключить масштабирование на вашем веб-сайте, но это просто большой нет-нет .
absolute
. Подобно этому при масштабировании на мобильных или сенсорных устройствах ввода фиксированный элемент (элементы) не разбивает остальную часть сайта, а масштабируется на каждом браузере и ОС и большинство пользовательских спецификаций (уровень масштабирования и т. Д.). – lowtechsun 23 January 2017 в 12:53