当前位置: 首页 > 面试题库 >

Python-创建具有列表理解的字典

水浩歌
2023-03-14
问题内容

我喜欢Python列表理解语法。

可以用来创建字典吗?例如,通过遍历键和值对:

mydict = {(k,v) for (k,v) in blah blah blah}  # doesn't work

问题答案:

从Python 2.7和3开始,你应该只使用dict comprehension语法:

{key: value for (key, value) in iterable}

在Python 2.6和更早版本中,dict内置函数可以接收键/值对的迭代,因此你可以将其传递给列表推导或生成器表达式。例如:

dict((key, func(key)) for key in keys)

但是,如果你已经具有可迭代的键key/value,则根本不需要使用任何理解-最简单dict的方法是直接调用内置函数:

# consumed from any iterable yielding pairs of keys/vals
dict(pairs)

# "zipped" from two separate iterables of keys/vals
dict(zip(list_of_keys, list_of_values))


 类似资料:
  • 问题内容: 我喜欢Python列表理解语法。 它也可以用来创建字典吗?例如,通过遍历键和值对: 问题答案: 使用字典理解: 注意:这适用于Python 3.x(及2.7及更高版本)。以前在Python 2.6和更早版本中,dict内置函数可以接收可迭代的键/值对,因此您可以将其传递给列表理解或生成器表达式。例如: 在简单的情况下,您根本不需要理解… 但是,如果您已经具有可迭代的键和/或值,只需di

  • 问题内容: 我有一个很大的文件(大约有200k输入)。输入形式为: 我正在读取此文件并将其存储在列表中,如下所示: 每当看到新行时,都会拆分文件。因此,文本如下所示: 我现在必须将这些值存储在字典中,其中键值是每个列表的第一个元素。即键将是A,B,C,D。我发现很难输入值作为列表的其余元素。即字典应该看起来像: 我已经完成以下工作: 请帮助我如何将值添加到字典中。如果列表中没有任何元素(除了将作为

  • 问题内容: 我想创建一个字典,其值为列表。例如: 如果我做: 我收到一个KeyError,因为d […]不是列表。在这种情况下,我可以在分配a后添加以下代码以初始化字典。 有一个更好的方法吗?可以说,直到进入第二个循环,我才知道需要的键。例如: 然后可以替代 与 处理此问题的最佳方法是什么?理想情况下,追加将“有效”。有什么方法可以表达我想要空列表的字典,即使我第一次创建列表时也不知道每个键? 问

  • 本文向大家介绍在Python中创建具有给定范围的数字列表,包括了在Python中创建具有给定范围的数字列表的使用技巧和注意事项,需要的朋友参考一下 Python可以通过其各种库和方法来满足数据处理中的任何要求。当我们需要生成一对给定数字之间的所有数字时,我们可以使用python的内置函数以及某些库。本文介绍了这种方法。 使用范围 该函数返回一个数字序列,默认情况下从0开始,以1递增,以指定的数字结

  • 问题内容: 可以将这段代码转换为列表理解吗? 我知道如何转换它的一部分: 但是我不知道如何添加中断,并且文档没有太大帮助。 任何帮助,将不胜感激。 问题答案: 分解一下: 将产生一个清单。您想要的是列表中的第一项。一种方法是使用下一个功能: Next返回迭代器的下一项。在像列表这样的可迭代的情况下,它最终采用了第一项。 但是没有理由真正构建列表,因此我们可以改用生成器表达式: 另外,请注意,如果生

  • 问题内容: 我了解简单列表理解的工作原理,例如: 而且我也了解嵌套列表的综合工作原理: 所以,当我尝试这样做 我期望这样: 但是我得到了: 所以我有更好的方法解决问题,这给了我我想要的 但是我不明白在第一个代码中返回9个元素 问题答案: 它有9个数字的原因是因为python对待 类似于 即,它是一个嵌套循环