gpt4 book ai didi

python - 如何只打印字典中的一项

转载 作者:行者123 更新时间:2023-12-05 08:07:39 26 4
gpt4 key购买 nike

我最近刚开始学习 Python,通常会在网上找到我的问题的答案,但似乎无法找到正确的解决方案。我创建了一个包含 3 个联系人的字典,我想使用 if 语句从列表中打印 1 个联系人。

contacts = {
"John" : 938477566,
"Jack" : 938377264,
"Jill" : 947662781
}

如果联系人中有“John”:
print ("联系方式: %s %i"% contacts.items()[0])

这是我正在寻找的输出:

Contact details: John 938477566

但我一直收到这个

Traceback (most recent call last): File "C:\Users\user\Documents\asega\python\objectsclasses\exercise3.py", line 31, in print ("Contact details: %s %i" % contacts.items()[0]) TypeError: 'dict_items' object does not support indexing

谢谢

最佳答案

contacts.items() 返回键值对。在您的情况下,这将类似于

(("John", 938477566), ("Jack", 938377264), ("Jill", 947662781))

除了在 python 3 中,这就像一个生成器而不是一个列表。所以你必须做 list(contacts.items()) 如果你想索引它,这解释了你的错误信息。但是,即使您执行了 list(contacts.items())[0],如上所述,您也会获得第一对键值。

如果所述键存在,你要做的是获取键的值,contacts.get(key, value_if_key_doesnt_exist) 会为你做这件事。

contact = 'John'
# we use 0 for the default value because it's falsy,
# but you'd have to ensure that 0 wouldn't naturally occur in your values
# or any other falsy value, for that matter.
details = contacts.get(contact, 0)
if details:
print('Contact details: {} {}'.format(contact, details))
else:
print('Contact not found')

关于python - 如何只打印字典中的一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54255764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com