我在Python中有两个迭代,我想成对地遍历它们:
foo = (1, 2, 3)
bar = (4, 5, 6)
for (f, b) in some_iterator(foo, bar):
print "f: ", f, "; b: ", b
Run Code Online (Sandbox Code Playgroud)
它应该导致:
f: 1; b: 4
f: 2; b: 5
f: 3; b: 6
Run Code Online (Sandbox Code Playgroud)
一种方法是迭代索引:
for i in xrange(len(foo)):
print "f: ", foo[i], "; b: ", b[i]
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎有点不合时宜.有没有更好的方法呢?
假设我有两个不同大小的列表
a = [1, 2, 3]
b = ['a', 'b']
Run Code Online (Sandbox Code Playgroud)
什么是Pythonic方法来获取c一个元素a和一个元素的所有可能组合的元组列表b?
>>> print c
[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
Run Code Online (Sandbox Code Playgroud)
元素的顺序c无关紧要.
具有两个for循环的解决方案是微不足道的,但它似乎并不特别是Pythonic.
我有一个问题拼接两个数组.我们假设我有两个数组:
a = array([1,2,3])
b = array([4,5,6])
Run Code Online (Sandbox Code Playgroud)
我什么时候vstack((a,b))得到
[[1,2,3],[4,5,6]]
Run Code Online (Sandbox Code Playgroud)
如果我这样做,hstack((a,b))我得到:
[1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
但我真正想要的是:
[[1,4],[2,5],[3,6]]
Run Code Online (Sandbox Code Playgroud)
如何在不使用for循环的情况下完成此操作(需要快速)?
是否可以迭代多个列表并从同一循环中的不同列表返回参数?
即,而不是 -
For x in trees:
Print(x)
For y in bushes:
Print(y)
Run Code Online (Sandbox Code Playgroud)
就像是 -
For x,y in trees,bushes:
Print(x +"\n"+ y)
Run Code Online (Sandbox Code Playgroud)