gpt4 book ai didi

python - 简单地将列表附加到Python中的类变量

转载 作者:行者123 更新时间:2023-12-01 05:21:10 25 4
gpt4 key购买 nike

我有一个简单的 Python 类。名称是一个字符串,事件是字符串列表。

class Page(object):

def __init__(self, name=None, events=None):
self.name = name
self.events = events or []

def add(self, x):
return self.events.append(x)

@property
def eventstring(self):
return " , ".join(self.events)

我有这个输入:

 log = {'key1': [['e1', 'e2'], 'e3', ]], 'key2': ['e5', 'e6', 'e7']}

我想在日志中创建读取并生成页面列表。即

[Page('key1', ['e1', 'e2', 'e3']), Page('key2', ['e5', 'e6', 'e7']}

我当前创建 Page 对象列表的代码不起作用。另外,收到 AttributeError: 'NoneType' object has no attribute 'append' 错误消息。

def inputevent(inputlog):
final_pages = []
pg = Page()
for key, val in inputlog.items():
pg.name = key
for e in val:
pg.events = pg.add(e)
final_pages.append(pg)
final_pages.append(pg)
return final_pages

最佳答案

Page.add() 返回 None,但您将其分配回 pg.events:

pg.events = pg.add(e)

这有效地清除了pg.events。由于 pg.add() 就地更改了 pg.events,因此根本不需要重新分配给 pg.events:

for key, val in inputlog.items():
pg.name = key
for e in val:
pg.add(e)

关于python - 简单地将列表附加到Python中的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22337799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com