【问题标题】:Is there a short form for accessing dictionary values in for loop in Python?在 Python 中的 for 循环中是否有访问字典值的简短形式?
【发布时间】:2022-11-21 22:47:20
【问题描述】:

在 Python 中的 for 循环中是否有访问字典值的简短形式?

我有以下示例代码:

dict = [{"name": "testdata"}, {"name": "testdata2"}]

for x in dict:
    print(x["name"])

有没有办法将字典键直接写入 for 循环的行,例如

dict = [{"name": "testdata"}, {"name": "testdata2"}]

for x in dict["name"]:
    print(x)

这显然是行不通的。但主要思想是 x 应该已经是字符串“testdata”或“testdata2”。我想避免这种情况:

dict = [{"name": "testdata"}, {"name": "testdata2"}]

for x in dict:
    x = x["name"]

【问题讨论】:

  • 顺便说一句,你不应该覆盖内置的dict,更不用说用列表了。

标签: python for-loop


【解决方案1】:

你不能在赋值时解构字典,所以唯一的方法是遍历一个只包含你想要的一个值的可迭代对象,例如:

for x in (i['name'] for i in dict):
    ...

或者:

from operator import itemgetter

for x in map(itemgetter('name'), dict):
    ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-25
    • 2020-03-02
    • 2015-12-23
    • 2022-11-17
    • 1970-01-01
    • 2019-02-03
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多