3 回答

TA貢獻1719條經驗 獲得超6個贊
這確實是一個xy問題。您永遠不需要打印變量的名稱。原因是數據結構經常以變量名稱丟失的方式傳遞。當您執行以下操作時會發生以下情況:
pets = [daisy, bella, ruby]
這里pets只是一個字典列表......它們不再命名。
如果名稱很重要,那么它應該是數據的一部分。例如:
daisy = {
'name': 'Daisy',
'type': 'dog',
'owner': 'miranda',
}
bella = {
'name': 'Bella',
'type': 'cat',
'owner': 'luke',
}
charlie = {
'name': 'Charlie',
'type': 'lizard',
'owner': 'mike',
}
pets = [daisy, bella, charlie]
for pet in pets:
print(pet['name'])
印刷:
Daisy
Bella
Charlie
事實上,您現在可以完全刪除命名變量:
pets = [
{
'name': 'Daisy',
'type': 'dog',
'owner': 'miranda',
},
{
'name': 'Bella',
'type': 'cat',
'owner': 'luke',
},
{
'name': 'Charlie',
'type': 'lizard',
'owner': 'mike',
}
]

TA貢獻1801條經驗 獲得超16個贊
你可以這樣做:
daisy = {
'type' : 'dog',
'owner' : 'miranda',
}
bella = {
'type' : 'cat',
'owner' : 'luke',
}
ruby = {
'type' : 'lizard',
'owner' : 'mike',
}
pets = [daisy, bella, ruby]
for i, e in list(globals().items()):
if e in pets:
print(i)

TA貢獻2036條經驗 獲得超8個贊
daisy = {
'name': 'Daisy',
'type': 'dog',
'owner': 'miranda',
}
bella = {
'name': 'Bella',
'type': 'cat',
'owner': 'luke',
}
charlie = {
'name': 'Charlie',
'type': 'lizard',
'owner': 'mike',
}
pets = [daisy, bella, charlie]
for i in pets:
name = i["name"]
print(name)
添加回答
舉報