【发布时间】:2019-12-26 00:16:14
【问题描述】:
我必须用列表初始化类,这将返回给定列表中的每个子列表。
我在将空列表定义为参数时遇到了问题:
class list():
def sublists(self, lst=[]):
sub = [[]]
for i in range(len(lst)+1):
for j in range (i+1, len(lst)):
sub = lst[i:j]
sub.append(sub)
return sub
【问题讨论】:
-
为什么这必须是一个类?据我所知,它没有内部状态。此外,请注意可变的默认参数,尽管在这种情况下它不应该成为问题。无论如何,您的问题到底是什么?什么,究竟是你的问题?注意,不要使用
list作为类的名称,这会影响内置名称list -
@poloOlo 你的目标是什么?您是否需要具有分层列表属性的类实例?或者您是否需要一个函数来将一些分层列表拆分为多个列表?
-
@juanpa.arrivillaga 我必须使用“课堂”,因为这是我的学校练习。当我试图用参数(exercise1 = list()exercise1.sublists(1,2,3 OR [1,2,3]))调用我的类时,在第一种情况下它向我显示一个错误 - “sublists() 需要从 1 到 2 个位置参数,但在第 2 个中给出了 4 个(在我将代码中的 'return' 更改为 'print' 之后)我有这个输出:[2, [...]]
-
@VictorDDT 我需要一个具有分层列表属性的类实例,并且需要使用列表初始化该类
标签: python list class initialization sublist