gpt4 book ai didi

python - 无法理解代码行为 - python

转载 作者:行者123 更新时间:2023-11-28 22:29:22 24 4
gpt4 key购买 nike

我刚开始使用 python,现在我试图理解字典理解,但我不明白以下代码的行为:

    data = [
{'id': 12, 'data': '01'},
{'id': 10, 'data': '05'},
{'id': 11, 'data': '07'},
]
{ d['id']:d for d in data }.values()

输出:

dict_values([{'id': 12, 'data': '01'}, {'id': 10, 'data': '05'}, {'id': 11, 'data ': '07'}])

请解释上述代码的输出。为什么要打印每个数据字典的第二个键值对,即 'data':'01' 等等。

最佳答案

你已经创建了字典列表

数据 = [ {'id':12,'数据':'01'}, {'id': 10, '数据': '05'}, {'id': 11, 'data': '07'}, ]

如果我们拆分第一个语句,那么我们将得到以下结果。

{ d['id']:d for d in data }

{10: {'data': '05', 'id': 10}, 11: {'data': '07', 'id': 11}, 12: {'data': '01', 'id': 12}}

d 是您的第一个 dict 并且您正在使用 d[id]

创建新的 dict

d['id']:d -> 10: {'data': '05', 'id': 10}

values():此方法返回给定字典中所有可用值的列表。

在您的示例中,3 个字典是值。

这就是为什么您会得到这样的结果。

[{'data': '05', 'id': 10}, {'data': '07', 'id': 11}, {'data': '01', 'id ': 12}]

关于python - 无法理解代码行为 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43032229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com