如何将for循环输出转换为列表?

2024-04-25 10:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

例如:

for y,x in zip(range(0,4,1),range(0,8,2)):  
    print(x+y)  

返回:

0  
3  
6  
9  

我想要的是:

['0', '3', '6', '9']

我怎样才能做到这一点


Tags: inforrangezipprint
3条回答

您可以动态生成列表:

print [str(x+y) for x, y in zip(range(0,4,1), range(0,8,2))]

['0','3','6','9']

这种技术称为list comprehensions

使用list comprehension试试这个

>>>[x+y for y,x in zip(range(0,4,1),range(0,8,2))]
[0, 3, 6, 9]
>>>[str(x+y) for y,x in zip(range(0,4,1),range(0,8,2))]
['0', '3', '6', '9']

不使用list comprehension最简单的理解方法是:

mylist = []
for y,x in zip(range(0,4,1),range(0,8,2)):
    mylist.append(str(x+y))
print mylist

输出:

['0','3','6','9']

相关问题 更多 >