python - 同时从压缩列表和元组中提取值

标签 python

我有一个元组列表和一个标量值列表,我想同时从它们中提取值。 例如

>>> 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/

相关文章:

python - 使用批处理文件运行 Django 项目后 Chrome 无法打开

python - 使用 BeautifulSoup 抓取 OSHA 网站

python - 在 Pandas 中操作多索引列

python - askopenfilename 处理取消对话

python - 由于 OOP,子弹没有向上移动

python - Pandas 用行中的值替换列

Google App Engine 上的 Python 脚本,仅从网站抓取更新

python - 安装 scrapy vol 2.0 时出错

python - 从 python 重定向标准输出以进行 C 调用

python - ctypes:在 COM 服务器中返回指针时的内存管理