python - 使用 for 循环在 python 中迭代 2 个列表中的变量

标签 python for-loop

Python 中的以下 for 循环会发生什么?每次迭代中 i 的值将如何变化。序列 x 和 y 是否组合形成单个序列?

for i in x, y:
    do_something(i)

我正在尝试的代码如下:

for sentence in snippet, phrase:
    result = sentence[:]

snippet和phrase是参数,其值将被列表替换,即snippet和phrase都将是列表。

最佳答案

更新:好吧,原来你问的是完全不同的东西。

您拥有的代码不会组合snippetphrase。在循环的第一次迭代中,snippet 的副本将被分配给 result。在第二次迭代中,phrase 的副本将被分配给 result,替换旧值。如果您想创建一个包含 snippetphrase 元素的列表,您可以使用

result = snippet + phrase

或者如果你真的想使用循环,

result = []
for sentence in snippet, phrase:
    result += sentence

x, y 是一个元组。换句话说,它是这样解析的:

for i in (x, y):
    do_something(i)

这意味着 do_something 将在 x 上调用一次,在 y 上调用一次。

如果您想迭代 xy 中的相应元素对,请使用 zip:

for i in zip(x, y):
# or
# for x_element, y_element in zip(x, y):
    do_something(i):

如果你想迭代x的元素,然后迭代y的元素,你可以使用

import itertools
for i in itertools.chain(x, y):
    do_something(i)

或者如果xy都是列表或者都是元组,

for i in x + y:
    do_something(i)

关于python - 使用 for 循环在 python 中迭代 2 个列表中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22777259/

相关文章:

python - 在 Pandas 中将多列与数值组合

c - 为什么我的代码没有按顺序打印整个数组

python - Tweepy For Loop For IDs 提取,有些不对劲

python - 如何将向量的每个元素提升为另一个向量的每个元素的幂?

python - 寻找集合中最大元素的错误

PHP如何从数组内的数组中提取信息?

matlab - 在 MATLAB 中使用 for 循环绘制图形

r - 计算字符串中的单个数字

python - 使用Python,你如何纯粹在内存中解压?

python - 如何将图像列表转换为 Pytorch Tensor