【问题标题】:Having trouble appending dictionary values to list in python在 python 中将字典值附加到列表时遇到问题
【发布时间】:2016-04-30 17:58:04
【问题描述】:

Dictionary 所以在 python 中我有一个字典,它由键的名称和与作为对象的名称关联的类对象组成。我需要将这些对象从字典中一一附加到列表中,但是当我尝试使用 for 循环来执行此操作时,它只会一遍又一遍地附加相同的对象。当我尝试附加 dict.values() 时,我将它们附加到一个列表中,但单词 dict_values 是列表中的第一件事,而它应该只是值本身。有人对如何正确附加这些值有任何想法吗?我一直在使用

for value in playerDict.values():
    basicList.append(playerDict.values)
    print(basicList)

尝试将值附加到名为 basicList 的列表中,但是每次它附加相同的对象并且经过几次迭代后,列表看起来就像

[<built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>]

我在附加对象值时哪里出错了。对不起,我对python很陌生。

【问题讨论】:

  • 在您的问题、错误消息或任何有助于其他人更好地理解您想要的内容中添加一些代码。
  • 在问题中加入更多信息
  • basicList.append(value)
  • 这太容易了,感谢光谱

标签: python list dictionary append


【解决方案1】:

尝试这样做:

for value in playerDict.values():
    basicList.append(value)
    print(basicList)

而不是:

for value in playerDict.values():
    basicList.append(playerDict.values)
    print(basicList)

当您尝试将 playerDict.values 添加到列表中时,您实际上是在尝试将 playerDict 对象的值添加到对象表单中,而不是您存储在字典键中的值(因此您得到了 [<built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48> )。然而,当您附加 value 时,它会附加存储在字典中的键的实际值。

希望,它会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-02
    • 2019-03-29
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    相关资源
    最近更新 更多