为了账号安全,请及时绑定邮箱和手机立即绑定

如何打印字典的名称?

如何打印字典的名称?

一只名叫tom的猫 2024-01-04 10:35:34
daisy = {    'type' : 'dog',    'owner' : 'miranda',    }bella = {    'type' : 'cat',    'owner' : 'luke',    }charlie = {    'type' : 'lizard',    'owner' : 'mike',}pets = [daisy, bella, ruby]如何从列表中仅打印字典的名称,即 daisy、bella、charlie?
查看完整描述

3 回答

?
慕侠2389804

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',

    }

]


查看完整回答
反对 回复 2024-01-04
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

你可以这样做:


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)


查看完整回答
反对 回复 2024-01-04
?
慕桂英3389331

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)


查看完整回答
反对 回复 2024-01-04
  • 3 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信