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

如何在Python中将字典键作为列表返回?

金旺
2023-03-14
问题内容

在Python 2.7中,我可以将字典键,值或项作为列表获取:

>>> newdict = {1:0, 2:0, 3:0}
>>> newdict.keys()
[1, 2, 3]

现在,在Python> = 3.3中,我得到如下信息:

>>> newdict.keys()
dict_keys([1, 2, 3])

因此,我必须这样做以获得列表:

newlist = list()
for i in newdict.keys():
    newlist.append(i)

我想知道,是否有更好的方法在Python 3中返回列表?


问题答案:

尝试list(newdict.keys())

这会将dict_keys对象转换为列表。

另一方面,你应该问自己是否重要。Python的编码方式是假设鸭子输入(如果看起来像鸭子,而像鸭子一样嘎嘎叫,那就是鸭子)。在dict_keys大多数情况下,该对象的作用类似于列表。例如:

for key in newdict.keys():
  print(key)

显然,插入运算符可能不起作用,但是对于字典关键字列表而言,这并没有多大意义。



 类似资料:
  • 我得到了谷歌云存储桶的URL。我必须: > 对于每个blob,我进行一些gcsapi调用,以获取关于blob的信息(blob.size、blob.name等) 对于每个Blob,我还必须读取它,在它里面找到一些东西,并将其添加到从GCS API调用中获得的值中 对于每个blob,我必须将步骤2和步骤3中找到的关于blob的值写入BigQuery 我有数千个blob,因此这需要使用ApacheBea

  • 问题内容: 假设我a在Python中有一个列表,其条目方便地映射到字典。每个偶数元素代表字典的键,后面的奇数元素是值 例如, 我想将其转换为字典b, 语法上最干净的方法是什么? 问题答案: 如果很大,则可能需要执行以下操作,而不会像上面那样创建任何临时列表。 在Python 3中,您也可以使用理解,但具有讽刺意味的是,我认为最简单的方法是使用,通常是代码味道。 因此,尽管EOL在注释中指出,该方法

  • 问题内容: 如何将Python字典序列化为字符串,然后再返回字典?该词典中将包含列表和其他词典。 问题答案: 这取决于您要使用它的目的。如果只是尝试保存它,则应使用(或者,如果使用CPython 2.x,则速度更快)。 如果您希望它可读,可以使用: 但是,它支持的功能非常有限,虽然可以用于任意对象(如果它不能自动运行,则该类可以定义以精确指定应如何对其进行腌制)。

  • 问题内容: 对于什么可以/不能用作python dict的键,我有些困惑。 因此,元组是不可变的类型,但是如果我在其中隐藏一个列表,那么它就不能成为键。.我不能像在模块内部一样轻松地隐藏一个列表吗? 我有一个模糊的想法,认为密钥必须是“可哈希的”,但是我只是承认自己对技术细节的无知。我不知道这里到底发生了什么。如果您尝试使用列表作为键,而将哈希作为其存储位置,那会出什么问题呢? 问题答案: Pyt

  • 问题内容: 我想创建一个python字典,将字典中缺少的键的键值返回给我。 用法示例: 问题答案: 对此有一个钩子:

  • 问题内容: l = [“a”, “b”, “c”, “d”, “e”] 我想将此列表转换为字典,例如: 因此,基本上,偶数将是关键,而赔率将是值。我知道我可以使用“非Python”方式(例如使用if语句的for循环)来完成此操作,但我相信应该有一种“ Python”方式来完成此任务。因此,感谢您的帮助:) 问题答案: 使用通常的石斑鱼食谱,您可以执行以下操作: Python 2: Python 3