Python 从列表中删除子列表

Python 从列表中删除子列表,python,list,Python,List,我想从列表中删除一个子列表。我只知道起始索引和结束索引。如何从列表中删除 我正在使用以下代码: def delete_sub_list( self, cmd_list, start, end ): tmp_lst = [] for i in range( len( cmd_list ) ): if( i < start or i > end ): tmp_lst.append( cmd_list[

我想从列表中删除一个子列表。我只知道起始索引和结束索引。如何从列表中删除

我正在使用以下代码:

def delete_sub_list( self, cmd_list, start, end ):
        tmp_lst = []
        for i in range( len( cmd_list ) ):
            if( i < start or i > end ):
                tmp_lst.append( cmd_list[ i ] )

        return tmp_lst

执行此操作的Python语法是

del cmd_list[4:14 + 1]
(匹配代码需要
+1
。Python使用半开间隔,即第一个索引包含在切片中,但最后一个索引不包含在切片中。)

您可以使用:

cmd_list[start:end + 1] = []


使用切片可能最简单:

cmd_list = cmd_list[:start] + cmd_list[end+1:]

下半场我们仍然需要end+1,但这仍然是一行非常清晰的代码。

谢谢,这就是我想要的。注意:对于间隔比较,您可以直接编写
start
del cmd_list[start:end + 1]
cmd_list = cmd_list[:start] + cmd_list[end+1:]