例如:
for y,x in zip(range(0,4,1),range(0,8,2)):
print(x+y)
返回:
0
3
6
9
我想要的是:
['0','3','6','9']
我怎样才能做到这一点?
答案 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)
>>>[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']