如何从字典中打印特定的键值?

26
fruit = {
    "banana": 1.00,
    "apple": 1.53,
    "kiwi": 2.00,
    "avocado": 3.23,
    "mango": 2.33,
    "pineapple": 1.44,
    "strawberries": 1.95,
    "melon": 2.34,
    "grapes": 0.98
}

for key,value in fruit.items():
     print(value)

我想要打印出kiwi键,如何做?

print(value[2]) 

这不起作用。


你需要使用“kiwi”字符串从字典中获取其对应的值。 “kiwi”字符串本身就是键,为什么不直接执行print('kiwi')呢?如果您想根据索引获取键,则在旧版本的Python字典中,它们的顺序是无序的。但是从Python 3.6开始,它们会保持插入顺序。 - Moinuddin Quadri
如果您想打印“kiwi”键的值,则只需执行fruit["kiwi"] - Moinuddin Quadri
print(fruit['kiwi'])? - Vasilis G.
@MoinuddinQuadri 请看我的回答。 - Joe Iddon
@VasilisG。请看我的回答。 - Joe Iddon
11个回答

28

Python的字典没有顺序,因此像您建议的那样进行索引(fruits[2])是没有意义的,因为您无法检索没有顺序的东西的第二个元素。它们只是一组key:value对。

要检索key'kiwi'的值,只需执行:fruit['kiwi']。这是访问特定键的值的最基本方法。有关进一步澄清,请参见文档

将其传递给print()调用实际上会给您一个输出:

print(fruit['kiwi'])
#2.0

注意 2.00 被缩短为 2.0,这是因为多余的零被移除了。


最后,如果你想使用一个 for-loop(不知道为什么要这样做,在这种情况下它们明显更加低效 (O(n) 相对于直接查找的 O(1))),那么可以这样做:

for k, v in fruit.items():
    if k == 'kiwi':
        print(v)
#2.0

18

现在已经太晚了,但是没有任何一个答案提到了dict.get()方法。

>>> print(fruit.get('kiwi'))
2.0

dict.get()方法中,如果字典中不存在该键,则可以传递默认值,它将返回默认值。如果未指定默认值,则将返回None
>>> print(fruit.get('cherry', 99))
99

fruit字典中没有名为cherry的键,因此dict.get()方法返回默认值99


15
fruit = {
    "banana": 1.00,
    "apple": 1.53,
    "kiwi": 2.00,
    "avocado": 3.23,
    "mango": 2.33,
    "pineapple": 1.44,
    "strawberries": 1.95,
    "melon": 2.34,
    "grapes": 0.98
}

for key,value in fruit.items():
    if value == 2.00:
         print(key)

我想你正在寻找这样的东西。


2

您可以通过以下方式访问键“kiwi”的值:

print(fruit['kiwi'])

但不要使用循环 :) 我使用for - user9198426
3
我理解这个问题是“如何仅打印出字典中的一个值”。如果您要查询其他内容,请重新措辞问题。 - Alan Hoover

2

咕噜咕噜橙汁 只需使用列表的索引即可访问键,无需知道键的名称。 将所有键放入一个列表中,然后查找您想要的键的索引号。

tell_me_why = {
'You': 56,
'Are': 23,
'My': 43,
'Fire': 78,
'The': 11,
"One":10,
'Desire':8,
'Belive':6,
'When':134,
'I':1234,
'Say':77,
"I Want":123,
'It':12345,
"That":123211,
'Way':12345
}
#make the keys a list
tell_me_why_keys = list(tell_me_why.keys())
#print the list of the keys
print(tell_me_why_keys)
#print certain key
print(tell_me_why_keys[5])
#print certain key value
print(tell_me_why[tell_me_why_keys[5]])

1
您可以使用以下命令直接打印:

print(fruit['kiwi'])

如果您想检查一个键是否已成功添加,请使用以下命令:
print('key' in dictionary)

例如:print('New York' in USA)

0

这是你要找的吗?

fruit = {
    "banana": 1.00,
    "apple": 1.53,
    "kiwi": 2.00,
    "avocado": 3.23,
    "mango": 2.33,
    "pineapple": 1.44,
    "strawberries": 1.95,
    "melon": 2.34,
    "grapes": 0.98
}

for key in fruit:
     print(fruit[key],"=",key)

不,我只想打印出kiwi的值。 - user9198426
@Irakli,请查看我的新回答。 - Abhisek Roy
3
如果@AbhisekRoy的回答是错误的,你需要删除它!即使有人为它投了赞,有时你必须接受命运的安排 :) - Joe Iddon

0
如果您只想显示Kiwi字段。
fruit = {
    "banana": 1.00,
    "apple": 1.53,
    "kiwi": 2.00,
    "avocado": 3.23,
    "mango": 2.33,
    "pineapple": 1.44,
    "strawberries": 1.95,
    "melon": 2.34,
    "grapes": 0.98
}

print(fruit["kiwi"],"=kiwi")

0
fruit = {
    "banana": 1.00,
    "apple": 1.53,
    "kiwi": 2.00,
    "avocado": 3.23,
    "mango": 2.33,
    "pineapple": 1.44,
    "strawberries": 1.95,
    "melon": 2.34,
    "grapes": 0.98
}

list_keys = []
list_values = []

for value in fruit.keys():
    list_keys.append(value)

for value in fruit.values():
    list_values.append(value)

print(list_keys)
print(list_values)

for value_ipos,value_item in enumerate(list_keys):
    if value_item == "kiwi":
        print(value_item,list_values[value_ipos])

请修改您的答案以提供更多有关所提供代码如何工作、您所做的更改等方面的信息。仅包含代码的答案可能会解决原始提问者的问题,但对于帮助未来读者理解解决方案并不起作用。 - LW001

-1
def reverse_dict(dictionary, lookup_val):
    for key,value in fruit.items():
        if abs(lookup_val-value) < 0.01:
            return key

fruit = {
    "banana": 1.00,
    "apple": 1.53,
    "kiwi": 2.00,
    "avocado": 3.23,
    "mango": 2.33,
    "pineapple": 1.44,
    "strawberries": 1.95,
    "melon": 2.34,
    "grapes": 0.98
}

for key,value in fruit.items():
    print("{}:{}".format(key, value))

print(fruit['kiwi'])
print(reverse_dict(fruit, 2.00))

需要谨慎的许多原因

  1. 使用大字典时会变得很慢
  2. 只返回第一个匹配项
  3. 您的值是浮点数,因此需要容差:我选择了0.01

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接