相关疑难解决方法(0)

如何并行迭代两个列表?

我在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)

但这对我来说似乎有点不合时宜.有没有更好的方法呢?

python iterator for-loop list

767
推荐指数
6
解决办法
58万
查看次数

什么是Pythonic方法来获取两个列表元素的所有可能组合的元组列表?

假设我有两个不同大小的列表

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.

python list

4
推荐指数
2
解决办法
452
查看次数

拼接NumPy数组

我有一个问题拼接两个数组.我们假设我有两个数组:

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循环的情况下完成此操作(需要快速)?

python numpy

1
推荐指数
1
解决办法
1675
查看次数

同时迭代多个列表

是否可以迭代多个列表并从同一循环中的不同列表返回参数?

即,而不是 -

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)

python loops for-loop list

0
推荐指数
1
解决办法
761
查看次数

标签 统计

python ×4

list ×3

for-loop ×2

iterator ×1

loops ×1

numpy ×1