lst = [3 for x in range(0, 51)] lst1 = [lst for x in range(0, 51)] print(lst1) # либо так, нагляднее: for i in lst1: print(i)
[[3 for j in range(50)] for i in range(50)]
[3] * 50
import numpy as np arr = np.zeros((50, 50), dtype=int) arr[:] = 3 print(arr)
lst=[[3 for x in range(50)] for x in range(50)] for i in lst: print(i)
ReitrelНе факт!
Думаю это самый оптимальный вариант.
def test1(): lst = [[3 for x in range(50)] for x in range(50)] def test2(): lst = [[3 for x in xrange(50)] for x in xrange(50)] def test3(): lst = [[3] * 50 for _ in range(50)] def test4(): lst = [[3] * 50 for _ in xrange(50)] if __name__ == '__main__': import timeit print(timeit.timeit("test1()", setup="from __main__ import test1", number=100000)) print(timeit.timeit("test2()", setup="from __main__ import test2", number=100000)) print(timeit.timeit("test3()", setup="from __main__ import test3", number=100000)) print(timeit.timeit("test4()", setup="from __main__ import test4", number=100000))
15.5663039684 13.9283020496 2.48807406425 2.43950200081
FishHookКласс! возьму на заметку способы тестирования! Спасибо!
FishHookПрокоментируй плиз эту строку:
if __name__ == '__main__':
Vigi
этоже питон подправил чуток
... arr = np.ones((50, 50), dtype=int)*3 ...