[英]Python printing values of values in a dictionary
在 Python 中,我知道您通過執行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]
但它告訴我字符串索引超出范圍。
print(list(pets.values()))
output:
[['Poodle', 'Boxer', 'Terrier'], ['Sphynx', 'Ragdoll', 'Birman']]
breed = list(pets.values())[0][1]
您的數據結構是一個以“集合”為值的字典。 集合不可下標,並且在列表中轉換不會保持順序
>>> list(pets['Dog'])
['Boxer', 'Poodle', 'Terrier']
那么問題是......你真正需要什么?
如果您需要訪問品種,您可以/應該使用列表或元組而不是集合
您如何使用 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
我創建了一個類似的字典(這次是一個以物種為鍵,以品種為值的字典),並展示了如何索引這個新字典:
>>> pets = {'Dog':('Poodle','Boxer','Terrier'), 'Cat':('Sphynx','Ragdoll','Birman')}
>>> pets['Dog'][1]
'Boxer'
>>>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.