我正在尝试创建一个循环,用从0到6的值填充一个列表100次。我像这样累了它,但我似乎它自己乘它100*6
ls = [] x = 0 i = 0 y = 0 while x != 10: for i in range (1,7): ls.append(i) x +=1 print(ls)
有谁知道解决这个问题的办法。先谢谢你。如果有人也知道Pandas的解决方案,那就太好了!
z9zf31ra1#
您不需要循环:
N = 6 lst = list(range(N+1))*100
使用numpy/pandas:
import numpy as np import pandas as pd N = 6 a = np.tile(np.arange(N+1), 100) s = pd.Series(a)
mhd8tkvw2#
您可以使用range。
range
>>> list(range(7))*100
或者,您可以使用numpy.tile。
numpy.tile
>>> import numpy as np >>> np.tile(np.arange(7), 100)
i34xakig3#
以下是使用Pandas执行此操作的一种方法:
Pandas
import pandas as pd df = pd.DataFrame([0,1,2,3,4,5,6] * 100)
wecizke34#
ls = list(range(1, 7)) * 100
收益率
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6...
总长度为600个项目。如果你想要100个项目,少生成一点,然后削减清单:
ls = (list(range(1, 7)) * (100 // 6 + 1))[:100]
ffscu2ro5#
不如这样吧:
LIST_TO_REPEAT = [1,2,3,4,5,6] REPEAT_AMOUNT = 100 array = [] for i in range(0, REPEAT_AMOUNT): array = array + LIST_TO_REPEAT print(array)
这会将列表添加到List_to_Repeat到数组Repeat_Amount的次数
7gs2gvoe6#
ls = [i for _ in range(100) for i in range(0, 7)] print(ls)
6条答案
按热度按时间z9zf31ra1#
您不需要循环:
使用numpy/pandas:
mhd8tkvw2#
您可以使用
range
。或者,您可以使用
numpy.tile
。i34xakig3#
以下是使用
Pandas
执行此操作的一种方法:wecizke34#
收益率
总长度为600个项目。
如果你想要100个项目,少生成一点,然后削减清单:
ffscu2ro5#
不如这样吧:
这会将列表添加到List_to_Repeat到数组Repeat_Amount的次数
7gs2gvoe6#