3 回答

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
這確實(shí)是一個(gè)xy問(wèn)題。您永遠(yuǎn)不需要打印變量的名稱(chēng)。原因是數(shù)據(jù)結(jié)構(gòu)經(jīng)常以變量名稱(chēng)丟失的方式傳遞。當(dāng)您執(zhí)行以下操作時(shí)會(huì)發(fā)生以下情況:
pets = [daisy, bella, ruby]
這里pets只是一個(gè)字典列表......它們不再命名。
如果名稱(chēng)很重要,那么它應(yīng)該是數(shù)據(jù)的一部分。例如:
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
事實(shí)上,您現(xiàn)在可以完全刪除命名變量:
pets = [
{
'name': 'Daisy',
'type': 'dog',
'owner': 'miranda',
},
{
'name': 'Bella',
'type': 'cat',
'owner': 'luke',
},
{
'name': 'Charlie',
'type': 'lizard',
'owner': 'mike',
}
]

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
你可以這樣做:
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貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
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)
添加回答
舉報(bào)