我最近才刚开始学习Python,通常可以在网上找到我的问题的答案,但似乎无法找到正确的解决方案。 我创建了一个包含3个联系人的字典,我想使用if语句从列表中打印1个联系人。
contacts = {
"John" : 938477566,
"Jack" : 938377264,
"Jill" : 947662781
}
if "John" in contacts:
print ("Contact details: %s %i" % contacts.items()[0])
这是我正在寻找的输出:
联系方式:约翰938477566
但是我一直得到这个
回溯(最近通话最近): 文件“ C:\ Users \ user \ Documents \ asega \ python \ objectsclasses \ exercise3.py”,第31行,在 打印(“联系方式:%s%i”%contact.items()[0]) TypeError:“ dict_items”对象不支持索引
谢谢
答案 0 :(得分:2)
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')
答案 1 :(得分:0)
您可以这样做。如果您确定字典中有“ John”,则不需要if语句。您也可以用其他方式编写它。.
contacts = {
"John" : 938477566,
"Jack" : 938377264,
"Jill" : 947662781
}
print("Contact details: %s %i" % ("John", contacts["John"]))
答案 2 :(得分:-1)
无需检查Caught this error: ValueError('Test Execution completed ... Killing the ChromeDriver instance only',)
Only ChromeDriver instance was killed and Chrome Browser instance left open
条件,只需使用if
来获取相应的值,如果不存在密钥,则返回get
-1
打印格式
contacts = {
"John" : 938477566,
"Jack" : 938377264,
"Jill" : 947662781
}
contacts.get('John',-1) # -1 will be returned if key is not found
或
name_to_search='John'
print("Contact details: %s %i" % (name_to_search, contacts.get(name_to_search,-1)))
答案 3 :(得分:-1)
首先,它的字典不是列表,您可以通过建立索引来访问列表中的元素,而在字典中是不可能的, 您可以通过
键访问元素contacts = {
"John" : 938477566,
"Jack" : 938377264,
"Jill" : 947662781
}
for k,v in contacts.items():
print(k,v)
或 contacts ['John']您可以访问值
答案 4 :(得分:-2)
字典不支持索引,因此要打印“ John”,您不能索引它,但是以下代码可能会出现这样的字眼:
if "John" in contacts:
print("Contact details:","John",contacts["John"])
希望有帮助