【问题标题】:Print the list of dictionary variable names打印字典变量名列表
【发布时间】:2016-06-07 12:21:16
【问题描述】:

我的任务是:

制作几个字典,每个字典的名字都是宠物的名字。在每本字典中,包括动物的种类和主人的名字。将这些字典存储在一个名为 pets 的列表中。接下来,遍历您的列表,并在打印时打印您所知道的关于每只宠物的所有信息。

我目前所拥有的:

rover = {'type': 'dog', 'owner': 'joe'}
blackie = {'type': 'cat', 'owner': 'gail'}
polly = {'type': 'bird', 'owner': 'paul'}
seth = {'type': 'snake', 'owner': 'stan'}

pets = [rover, blackie, polly, seth]

for pet in pets:
    print("\nPet Name:", "\nType:", pet['type'].title(), "\nPet Owner:", pet['owner'].title())

目前的输出:

宠物名称: 类型:狗 宠物主人:乔

宠物名称: 类型:猫 宠物主人:盖尔

宠物名称: 类型:鸟 宠物主人:保罗

宠物名称: 类型:蛇 宠物主人:斯坦

我的问题:

我需要在我的代码中添加什么以使输出包含宠物名称?

所需的输出:

宠物名称:流浪者 类型:狗 宠物主人:乔

宠物名称:小黑 类型:猫 宠物主人:盖尔

宠物名称:波莉 类型:鸟 宠物主人:保罗

宠物名称:赛斯 类型:蛇 宠物主人:斯坦

【问题讨论】:

标签: python list dictionary printing


【解决方案1】:

我会将名字存储在字典中。

rover = {'name' : 'rover', 'type': 'dog', 'owner': 'joe'}

【讨论】:

  • 我知道我可以通过这种方式获得我想要的输出,但这与作业要求的细节背道而驰。有没有办法可以从我拥有的列表中引用字典变量名称?
  • 虽然在 Python 中可能有办法做到这一点,但这不是一个好主意。我非常怀疑这是否是您的导师正在寻找的。​​span>
  • 我同意@AndrewJenkins。如果您真的感兴趣,请查看stackoverflow.com/questions/2553354/… 最受好评的答案。您还可以将您的宠物存储在字典 {'rover': rover, ...} 中。如何遍历它们留作练习。
【解决方案2】:

您可以使用 if 语句:

for pet in pets:
    for v in pet.values():
        if v == 'joe':
            print("\nPet Name: Rover", "\nType:", pet['type'].title(), "\nPet Owner:", pet['owner'].title())
        if v == 'gail':
            print("\nPet Name: Blackie", "\nType:", pet['type'].title(), "\nPet Owner:", pet['owner'].title())
        if v == 'paul':
            print("\nPet Name: Polly", "\nType:", pet['type'].title(), "\nPet Owner:", pet['owner'].title())
        if v == 'stan':
            print("\nPet Name: Seth", "\nType:", pet['type'].title(), "\nPet Owner:", pet['owner'].title())

输出:

'Pet Name: Rover '
'Type: Dog'
'Pet Owner: Joe'

'Pet Name: Blackie'
'Type: Cat'
'Pet Owner: Gail'

'Pet Name: Polly'
'Type: Bird'
'Pet Owner: Paul'

'Pet Name: Seth'
'Type: Snake'
'Pet Owner: Stan'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-01
    • 2015-10-03
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多