python中字典键的获取

2024-04-26 11:21:02 发布

您现在位置:Python中文网/ 问答频道 /正文

#some dictionary data{}
data = {1:[3,1,4,2,6]}

如何打印数据的密钥,即

print( key_of(data) ) #print in some ways.

输出:

1

到目前为止,我得到的是使用data.keys()函数,但每当我使用该函数时,输出将如下所示:

dict_keys([1])

那么,这个函数有什么问题呢。谁能告诉我答案吗。?你知道吗


Tags: of数据key函数答案indatadictionary
2条回答

dict.keys没有问题,它在Python3中返回类似视图的对象。您可以使用dict上的list()来获取键列表。你知道吗

>>> data = {1:[3,1,4,2,6]}
>>> keys = list(data)
>>> keys
[1]
>>> keys[0]
1

注意:如果dict包含多个键,那么顺序可以是任意的,keys[0]可以返回任何键。你知道吗

>>> dic = {'a12': 1, 'sd':'sdfd', 'sdfsd': 'sdfsd'}
>>> list(dic)               #Arbitrarily ordered
['sdfsd', 'sd', 'a12']

简单地做:

print(list(data))

打印所有的钥匙。如果要打印特定密钥,则必须搜索它:

print(next(key for key, value in data.items() if value == something))

注意,钥匙的顺序没有保证。你知道吗

>>> data = {'a': 1, 'aa': 2, 'b': 3, 'cd': 4}
>>> list(data)
['cd', 'a', 'b', 'aa']
>>> data['f'] = 1
>>> list(data)
['cd', 'a', 'b', 'aa', 'f']
>>> del data['a']
>>> list(data)
['cd', 'b', 'aa', 'f']
>>> data[1] = 1
>>> list(data)
['cd', 1, 'b', 'aa', 'f']
>>> for c in ('cde', 'fgh', 'ijk', 'rmn'):
...     data[c] = 1
... 
>>> list(data)
[1, 'aa', 'cde', 'cd', 'rmn', 'b', 'ijk', 'fgh', 'f']

请注意键是如何而不是遵循字母顺序的,以及插入的键不总是附加到键列表中。另外,在一些插入一些关键是交换。删除/插入键可能会以不可预知的方式更改顺序。你知道吗

相关问题 更多 >