如何将多个不公开的项添加到类中?(how to add multiple unlisted items to a class?)
这可能是一个非常简单的问题,之前可能已被问过,但这可能是我缺乏词汇量的问题,所以我提前道歉。
从python文档 :
class Dog: def __init__(self, name): self.name = name self.tricks = [] # creates a new empty list for each dog def add_trick(self, trick): self.tricks.append(trick) d = Dog('Fido') d.add_trick('roll over') d.add_trick('fetch') d.tricks按预期返回:
['roll over', 'fetch']但是,如果我然后运行:
d.add_trick('play dead', 'high five')我收到错误,所以我尝试了:
d.add_trick(['play dead', 'high five'])但这给了我:
d.tricks ['roll over', 'fetch', ['play dead', 'high five']]当我想要:
['roll over', 'fetch', 'play dead', 'high five']如何取消添加到课程中的项目列表?
This may be a very simple question and has probably been asked before, but it's probably an issue of me lacking vocabulary, so I apologize in advance.
From the python documentation:
class Dog: def __init__(self, name): self.name = name self.tricks = [] # creates a new empty list for each dog def add_trick(self, trick): self.tricks.append(trick) d = Dog('Fido') d.add_trick('roll over') d.add_trick('fetch') d.tricksThis returns, as expected:
['roll over', 'fetch']But if I then run:
d.add_trick('play dead', 'high five')I get an error, so I tried:
d.add_trick(['play dead', 'high five'])But that gives me:
d.tricks ['roll over', 'fetch', ['play dead', 'high five']]When I want:
['roll over', 'fetch', 'play dead', 'high five']How can I unlist a list of items added to a class?
最满意答案
使用extend :
d.tricks.extend(['play dead', 'high five']) d.tricks ['roll over', 'fetch', 'play dead', 'high five']或者您可以将add_tricks更改为:
def add_trick(self, *trick): self.tricks.extend(trick)Use extend:
d.tricks.extend(['play dead', 'high five']) d.tricks ['roll over', 'fetch', 'play dead', 'high five']Or you could change add_tricks to:
def add_trick(self, *trick): self.tricks.extend(trick)更多推荐
发布评论