簡體   English   中英

如何使用列表推導創建以下列表? [等候接聽]

[英]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)

避免(顯式)嵌套循環:

  1. sum([[x]*5 for x in range(1,n+1)],[]) (根據@StevenRumbalski 的建議,更好的方法是itertools.chain(*[[x]*5 for x in range(1,n+1)]) ,它產生一個你想要的值的迭代。)

  2. [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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM