gpt4 book ai didi

Python构造一个字典数据类型?

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:56 25 4
gpt4 key购买 nike

我是 python 的新手,刚遇到这个语句

data = dict( (k, v) for k, v in data.items() if v != 'null')

我真的不知道他们在这里做什么来构建字典。你能给我解释一下吗?为什么在 dict() 中使用 for 循环以及为什么在 if 之后?我在 python 文档中没有看到这样的内容。

谢谢大家

最佳答案

代码使用 dict构造函数来创建一个新的字典。构造函数可以采用 iterable。用于初始化新字典的键值对。正如其他人指出的那样,示例代码有一个 generator expression创建这个可迭代的键值对。

生成器表达式有点像列表,可以这样重写:

mylist = []
for k, v in data.items():
if v != 'null':
mylist.append((k, v))

但它从来没有真正创建一个列表,它只是在字典构造函数处理它时依次产生每个值。

至于为什么if在循环之后,这是python开发人员选择的语法,所以你得问他们。但是请注意,在我重写的生成器表达式中,if 语句位于 for 语句内部(即之后)。

我已经链接到关于 generator expressions in the python documentation 的部分但应 unkulunkulu 的要求,这里还有一些:

  1. Carl's Groner's Introduction to List Comprehensions
  2. 弗雷德里克·哈德的 How to (Effectively) Explain List Comprehensions

关于Python构造一个字典数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11183750/

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