我有一个元组列表和一个标量值列表,我想同时从它们中提取值。例如:
>>> a = [('type1', 1), ('type2', 2)]
>>> b = [res1, res2]
>>> for ai, bi in zip(a, b):
... ai1, ai2 = ai
... print(ai1, ai2, bi)
...
type1 1 res1
type2 2 res2
如何避免在循环中重新分割ai
的步骤。
# something like this (This does not work though)
>>> for ai1, ai2, bi in zip(a, b):
... ai1, ai2 = ai
... print(ai1, ai2, bi)
发布于 2021-12-06 07:39:24
只需添加适当的括号:
>>> a = [('type1', 1), ('type2', 2)]
>>> b = ["FOO", "BAR"]
>>> for (ai1, ai2), bi in zip(a, b):
... print(ai1, ai2, bi)
...
type1 1 FOO
type2 2 BAR
注意,对于可迭代解压,方括号和括号的工作原理相同:
>>> for [ai1, ai2], bi in zip(a, b):
... print(ai1, ai2, bi)
...
type1 1 FOO
type2 2 BAR
发布于 2021-12-06 07:39:33
您可以使用括号来实现这一点。
for (ai1, ai2), bi in zip(a, b):
print(ai1, ai2, bi)
https://stackoverflow.com/questions/70242158
复制相似问题