我有一个元组列表和一个标量值列表,我想同时从它们中提取值。 例如
>>> 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)
最佳答案
只需添加适当的括号:
>>> 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
关于python - 同时从压缩列表和元组中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70242158/