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

问题描述 投票:0回答:12
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 key,怎么做?

print(value[2]) 

这不起作用。

python python-3.x dictionary
12个回答
30
投票

Python 的字典没有顺序,因此像您建议的那样进行索引(

fruits[2]
)是没有意义的,因为您无法检索没有顺序的内容的第二个元素。它们只是
key:value
对的集合。

要检索

key
处的值:
'kiwi'
,只需执行:
fruit['kiwi']
。这是访问某个key的值的最基本的方式。请参阅文档以获取进一步说明。

将其传递给

print()
调用实际上会给你一个输出:

print(fruit['kiwi'])
#2.0

注意

2.00
如何减少为
2.0
,这是因为多余的零被删除了。


最后,如果你想使用

for-loop
(不知道为什么,在这种情况下它们的效率明显更低(
O(n)
vs
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)

我认为您正在寻找类似的东西。


3
投票

简易豌豆柠檬汁 您无需知道键的名称,只需使用列表的索引即可访问该键。 将所有键列成一个列表,然后查找您想要的键的索引号。

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]])

2
投票

您可以使用

访问键“kiwi”的值
print(fruit['kiwi'])

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)

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])

-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

-1
投票
favorite_numbers = {'jacob': 5, 'christine': 12, 'opiyo': 13, 'jeremy': 27, 'dingo': 36}

print(“这是每个人最喜欢的数字:”)

print('jacob'.title() + ": " + str(favorite_numbers['jacob'])) print('christine'.title() + ": " + str(favorite_numbers['christine']))


-1
投票

你可以试试这个

 user_0 = {
    'username': 'efermi',
    'first': 'enrico',
    'last': 'fermi',
 }

for key, value in user_0.items():
    print(f"\n Key: {key}")
    print(f"Value: {value}")
© www.soinside.com 2019 - 2024. All rights reserved.