[英]How to create the following lists with list comprehensions? [on hold]
如何使用 python 中的列表推導創建以下列表:
list1 = [0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,.........n,n,n,n,n]
list2 = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5...................]
在list1
中,每個數字重復 5 次。
list2
有 5*n 個元素,其中n
是用戶定義的。
只是好奇這是否可以使用列表理解。
list1=[]
x=0
for i in range(5*n):
if i%5==0 and i>0 :
x+=1
list1.append(x)
避免(顯式)嵌套循環:
sum([[x]*5 for x in range(1,n+1)],[])
(根據@StevenRumbalski 的建議,更好的方法是itertools.chain(*[[x]*5 for x in range(1,n+1)])
,它產生一個你想要的值的迭代。)
[x for x in range(1,6)]*n
你的第一個問題: [i for i in range(n) for j in range(5)]
你的第二個問題: [j for i in range(k) for j in range(1,6)]
其中k
是重復次數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.