获取词典的关键字列表

2024-04-26 19:00:45 发布

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

如何创建一个函数,将字典作为输入并输出其键的名称?就像:

input_dictionary = {"foo": 1, "bar": 2}
names = get_names(input_dictionary) # returns ["foo", "bar"]

Tags: 函数名称inputgetdictionary字典foonames
3条回答

您应该阅读Python documentation中的字典(参见python3.5中的here)。有多种方法可以做到这一点。你知道吗

您可以使用:

input_dictionary.keys(),显然是最简单的解决方案:

def get_names(input_dictionary):
    return input_dictionary.keys()

input_dictionary.iterkeys(),要获得字典键的迭代器,可以对这些键进行迭代器,以创建它们的列表:

def get_names(input_dictionary):
    list_of_keys = []
    for key in input_dictionary.iterkeys():
        list_of_keys.append(key)
    return list_of_keys

input_dictionary.iteritems(),它返回字典的(key, value)对的迭代器,您可以对其进行迭代,然后提取密钥:

def get_names(input_dictionary):
    list_of_keys = []
    for item in input_dictionary.iteritems():
        list_of_keys.append(item[0])
    return list_of_keys

input_dictionary.popitem(),从字典中弹出(删除)并返回任意的(key, value)对,您可以从中提取密钥。不过,你可能不想要这个,因为它可以帮你清理字典


最后,input_dictionary.viewitems()input_dictionary.viewkeys()分别为字典获取(key, value)对的view或键列表。每当dictionary发生更改时,此视图对象都将反映该更改。你知道吗

使用keys()

>>> input_dictionary = {"foo": 1, "bar": 2}
>>> print input_dictionary.keys()
['foo', 'bar']

所以函数应该是:

def dictkeys(mydictionary):
    return mydictionary.keys()

输出:

>>> dictkeys(input_dictionary)
['foo', 'bar']

不过,您并不需要函数,因为它与简单地使用dictionaryname.keys()是一样的

input_dictionary = {"foo": 1, "bar": 2}
input_dictionary.keys() # ["foo", "bar"]

相关问题 更多 >