如何将for循环输出转换为列表(python)

时间:2015-10-28 12:00:54

标签: 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']

我怎样才能做到这一点?

4 个答案:

答案 0 :(得分:12)

在不使用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']

答案 1 :(得分:8)

使用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']

答案 2 :(得分:3)

您可以动态生成列表:

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

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

此技术称为list comprehensions

答案 3 :(得分:1)

您可以跳过for循环并使用map()并从add导入operator

from operator import add
l = map(add,range(0,4,1),range(0,8,2))
print l

[0, 3, 6, 9]

如果你想把它作为字符串你可以做

from operator import add
l = map(add,range(0,4,1),range(0,8,2))
print map(str, l)

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