【问题标题】:Python: Reference the attribute of an object in a list at index[x] [closed]Python:在索引 [x] 处引用列表中对象的属性 [关闭]
【发布时间】:2020-12-25 07:21:30
【问题描述】:

我正在制作字典 对于键,我尝试使用列表中对象的属性 .name 当我索引列表的一个元素时,我指向列表和里面的对象 如何指向列表、里面的对象以及对象的单个属性?

class test:
 def __init__(self, name):
  self.name = name

list = []

list.append(test('name1'))
list.append(test('name2'))

Dict = {
 list[0].name : value
}

'list[0].name' 看起来很糟糕而且错误,但我不确定如何正确引用列表中 index[0] 处对象的 name 属性,我希望字典中的键为 'name1 '

【问题讨论】:

  • 不要使用列表作为变量名,它会隐藏内置列表。另外,如果您只想在列表中引用 single object ,我也看不到解决方法
  • 是的。是的,这就是这样做的方法。除了主观的“看起来很糟糕”之外,您对这段代码有什么问题吗?
  • 上面的代码从来没有遇到过问题,我只是编写了任意代码来尝试与我的问题相似(我的原始代码注释繁重且冗长)。我现在意识到这使我的问题难以理解。原始错误消息告诉我 index[1] 超出范围(当 len(list) == 3 时),因为 list[0].name 不正确。

标签: python list dictionary object indexing


【解决方案1】:

这对你有用吗?

object_list = []
object_list.append(test('name1'))
object_list.append(test('name2'))
Dict = {obj.name: "" for obj in object_list}

这将填充一个空字典,其中键作为对象的名称属性,值作为空字符串,您可以稍后根据需要进行设置。

【讨论】:

  • 感谢这完美的工作。我意识到我用任意代码提出问题的方式让我很难理解我的问题,所以感谢你的帮助!
猜你喜欢
  • 2013-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-12
  • 2018-04-13
  • 1970-01-01
相关资源
最近更新 更多