我有一个如下列表:
[3,2,4,5]
我想要一个如下列表:
[['1','2','3'],['1','2'],['1','2','3','4'],['1','2','3','4','5']]
我的意思是我想拥有一个由另一个列表的计数创建的列表。 我想用字符串进行迭代。
我怎么用python编写
我尝试了以下代码:
for i,val in enumerate(list_mf_input):
self.eachMembership.append([])
for value in range(1, val+1):
self.eachMembership.append([value])
答案 0 :(得分:3)
您可以将range
与list
一起使用,并列出理解:
>>> a = [3, 2, 4, 5]
>>> [list(range(1, x+1)) for x in a]
[[1, 2, 3], [1, 2], [1, 2, 3, 4], [1, 2, 3, 4, 5]
要制作所有字符串,请在map
上加上str
:
>>>[list(map(str, range(1, x+1))) for x in a]
[['1', '2', '3'], ['1', '2'], ['1', '2', '3', '4'], ['1', '2', '3', '4', '5']]
答案 1 :(得分:1)
尝试此代码。我试图尽可能地简化
lol=[3,2,4,5]
ans=[]
temp=[]
for i in lol:
for j in range(1,i+1):
temp.append(j)
ans.append(temp)
temp=[]
print(ans)
希望有帮助