Python在字典中打印值的值
在Python中,我知道可以通过执行Python在字典中打印值的值,python,python-3.x,dictionary,key-value,Python,Python 3.x,Dictionary,Key Value,在Python中,我知道可以通过执行variable.values()在字典中打印键的值。但是如果我想打印一个特定值的值呢 例如: pets = {'Dog': ['Poodle', 'Boxer', 'Terrier'], 'Cat': ['Sphynx', 'Ragdoll', 'Birman']} 我想特别选择一种特殊的动物。例如,我只想打印Boxer 你可以这样做: animal = list(pets.values())[0] breed = list(animal.values()
variable.values()
在字典中打印键的值。但是如果我想打印一个特定值的值呢
例如:
pets = {'Dog': ['Poodle', 'Boxer', 'Terrier'], 'Cat': ['Sphynx', 'Ragdoll', 'Birman']}
我想特别选择一种特殊的动物。例如,我只想打印Boxer
你可以这样做:
animal = list(pets.values())[0]
breed = list(animal.values())[1]
print(breed)
这将为您提供Boxer
。然而,我很好奇我是否可以在一行代码中完成这项工作,比如打印一个值中的一个值
我试过:
breed = list(list(pets.values()))[0][1]
但是它告诉我字符串索引超出了范围。您使用dict的方式似乎有些奇怪,我想您应该使用list
pets = {'Animal': {'Dog': ['Poodle', 'Boxer', 'Terrier'], 'Cat': ['Sphynx', 'Ragdoll', 'Birman']}}
如果你想打印一个特定的品种,那么你可能需要一个额外的密钥来获得使用dict的好处
pets = {'Animal': {'Dog': {1:'Poodle', 2:'Boxer', 3:'Terrier'}, 'Cat': ['Sphynx', 'Ragdoll', 'Birman']}}
那你就可以和波克瑟一起
pets['Animal']['Dog'][2]
定义此词典的方式会产生语法错误:
>>> pets = {'Animal': 'Dog':{'Poodle','Boxer','Terrier'}, 'Cat':{'Sphynx','Ragdoll','Birman'}}
File "<stdin>", line 1
pets = {'Animal': 'Dog':{'Poodle','Boxer','Terrier'}, 'Cat':{'Sphynx','Ragdoll','Birman'}}
^
SyntaxError: invalid syntax
输出:
[['Poodle', 'Boxer', 'Terrier'], ['Sphynx', 'Ragdoll', 'Birman']]
- 正如你所看到的,这是一个列表。现在,每个项目都是可以通过索引访问的列表
- 这会给你想要的结果
>>> list(pets['Dog'])
['Boxer', 'Poodle', 'Terrier']
问题是。。。。你真正需要什么
如果您需要访问繁殖,您可以/应该使用列表或元组而不是集合给定的dictional
pets
,这是无效的语法,请首先修复该问题。您确实不应该使用字典的.values()
。。。你失去了所有的效率。使用按键例如:pets['Dog']
@Poojan哇,谢谢你捕捉到:)你改变了给定dict的结构。让OP先验证输入。捕捉得好,@Poojan。我在发帖后马上意识到了这一点,并将予以纠正。你完全改变了OP提供的dict的结构。哦,对了。我忘了字典并不总是按顺序列出东西,所以你不能索引东西。
[['Poodle', 'Boxer', 'Terrier'], ['Sphynx', 'Ragdoll', 'Birman']]
breed = list(pets.values())[0][1]
>>> list(pets['Dog'])
['Boxer', 'Poodle', 'Terrier']