Это можно сделать, используя toolz.concat
или cytoolz.concat
(cythonized версия, которая в некоторых случаях может быть быстрее):
from cytoolz import concat
l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]]
list(concat(l)) # or just `concat(l)` if one only wants to iterate over the items
На моем компьютере, в python 3.6, это похоже на время почти так же быстро, как [item for sublist in l for item in sublist]
(не считая времени импорта):
In [611]: %timeit L = [item for sublist in l for item in sublist]
695 ns ± 2.75 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In [612]: %timeit L = [item for sublist in l for item in sublist]
701 ns ± 5.5 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In [613]: %timeit L = list(concat(l))
719 ns ± 12 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In [614]: %timeit L = list(concat(l))
719 ns ± 22.9 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Версия toolz
действительно медленнее:
In [618]: from toolz import concat
In [619]: %timeit L = list(concat(l))
845 ns ± 29 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In [620]: %timeit L = list(concat(l))
833 ns ± 8.73 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Попробуйте следующее:
startLive = new Date(<?php echo strtotime($start_date)*1000; ?>);
Объяснение:
Функция PHP strtotime
возвращает отметку времени Unix (секунды с 1-1 по 1970 в полночь).
Функция Date()
Javascript может быть создана путем задания миллисекунд с 1-1 по 1970 в полночь.
Так умножайте секунды на 1000, и вы получаете миллисекунды, которые вы можете использовать в Javascript.
Я думаю, что очень простым и универсальным решением было бы
var dateTime = <?php echo date('c', strtotime($yourDateTime)) ?>;
Вы можете использовать это:
startLive = new Date("<?php echo date("F d, Y G:i:s",strtotime($start_date)); ?>");
, это сортирует вашу проблему
Объяснение: