Python:在索引[x]处引用列表中对象的属性

Python:在索引[x]处引用列表中对象的属性,python,list,dictionary,object,indexing,Python,List,Dictionary,Object,Indexing,我在编字典 对于键,我使用属性。列表中对象的名称 当我为列表中的一个元素编制索引时,我指向的是列表中的元素和列表中的对象 如何指向列表、对象内部以及对象的单个属性 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].

我在编字典 对于键,我使用属性。列表中对象的名称 当我为列表中的一个元素编制索引时,我指向的是列表中的元素和列表中的对象 如何指向列表、对象内部以及对象的单个属性

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”看起来很糟糕而且错误,但我不确定如何正确引用列表中索引[0]处对象的name属性,我希望字典中的键为“name1”

这对您有效吗

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

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

不要将列表用作变量名,它会隐藏内置列表。此外,如果只想引用列表中的单个对象,我看不到解决方法。是的,这就是方法。除了主观上的“看起来很糟糕”之外,你对这段代码还有什么问题吗?上面的代码从来没有遇到过问题,我只是写了一些任意的代码来尝试模仿我的问题(我最初的代码是注释很重而且很长)。我现在意识到这让我的问题很难理解。最初的错误消息告诉我索引[1]超出范围(当len(list)==3时),因为列表[0]。名称不正确。谢谢,这工作得很好。我意识到我用任意代码提出问题的方式让我很难理解我的问题,所以谢谢你的帮助!