使用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])
如何使用Python 3获得一个简单的键列表?
使用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])
如何使用Python 3获得一个简单的键列表?
当前回答
list(newdict)在Python 2和Python 3中都可以使用,在newdict中提供一个简单的键列表。Keys()不是必需的。
其他回答
是的,在python3中有一个更好和最简单的方法来做到这一点。X
使用inbuild list()函数
#Devil
newdict = {1:0, 2:0, 3:0}
key_list = list(newdict)
print(key_list)
#[1, 2, 3]
这将把dict_keys对象转换为一个列表:
list(newdict.keys())
另一方面,你应该问问自己这是否重要。假设鸭子输入是python式的——如果它看起来像一只鸭子,它的叫声像一只鸭子,它就是一只鸭子。dict_keys对象可以像列表一样迭代。例如:
for key in newdict.keys():
print(key)
注意,dict_keys不支持插入newdict[k] = v,尽管您可能不需要它。
在不使用keys方法的情况下转换为列表使其更具可读性:
list(newdict)
并且,当循环遍历字典时,不需要key ():
for key in newdict:
print key
除非你在循环中修改它,这需要事先创建一个键列表:
for key in list(newdict):
del newdict[key]
在Python 2上,使用keys()会有一个边际的性能提升。
这是在一行代码中获得key List的最佳方法
dict_variable = {1:"a",2:"b",3:"c"}
[key_val for key_val in dict_variable.keys()]
我可以想到两种从字典中提取键值的方法。
方法一:- 使用.keys()方法获取键,然后将其转换为列表。
some_dict = {1: 'one', 2: 'two', 3: 'three'}
list_of_keys = list(some_dict.keys())
print(list_of_keys)
-->[1,2,3]
方法二:- 创建一个空列表,然后通过循环将键附加到列表中。 您也可以使用此循环获取值(仅使用.keys()提取键,使用.items()提取键和值)
list_of_keys = []
list_of_values = []
for key,val in some_dict.items():
list_of_keys.append(key)
list_of_values.append(val)
print(list_of_keys)
-->[1,2,3]
print(list_of_values)
-->['one','two','three']