如何打印字典的名称?

daisy = {

    'type' : 'dog',

    'owner' : 'miranda',

    }


bella = {

    'type' : 'cat',

    'owner' : 'luke',

    }


charlie = {

    'type' : 'lizard',

    'owner' : 'mike',

}


pets = [daisy, bella, ruby]

如何从列表中仅打印字典的名称,即 daisy、bella、charlie?


一只名叫tom的猫
浏览 70回答 3
3回答

慕侠2389804

这确实是一个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'])印刷:DaisyBellaCharlie事实上,您现在可以完全删除命名变量:pets = [    {        'name': 'Daisy',        'type': 'dog',        'owner': 'miranda',    },    {        'name': 'Bella',        'type': 'cat',        'owner': 'luke',    },    {        'name': 'Charlie',        'type': 'lizard',        'owner': 'mike',    }]

侃侃尔雅

你可以这样做: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)

慕桂英3389331

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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python