作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
你知道你能做到吗?
>>> [(x,y) for x in xrange(2) for y in xrange(5)]
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4)]
它很整洁。是否有 for 循环版本,或者只能为列表理解执行此操作?
编辑:我认为我的问题被误解了。我想知道是否有特殊的语法:
for x in xrange(2) <AND> y in xrange(5):
print "do stuff here"
print "which doesn't fit into a list comprehension"
print "like printing x and y cause print is a statement", x, y
我可以这样做,但它似乎有点重复:
for x,y in ((x,y) for x in xrange(2) for y in xrange(5)):
print x, y
最佳答案
好吧,没有您想要的语法,但是有 itertools.product
.
>>> import itertools
>>> for x, y in itertools.product([1,2,3,4], [5,6,7,8]): print x, y
...
1 5
1 6
1 7
1 8
[ ... and so on ... ]
关于python:循环的单线笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759770/
我是一名优秀的程序员,十分优秀!