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)
添加回答
举报