我想从列表中删除子列表。我只知道起始索引和结束索引。如何从列表中删除?
我正在使用以下代码:
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
我正在以下列方式打电话:
cmd_list = self.delete_sub_list( cmd_list, 4, 14 )
答案 0 :(得分:6)
执行此操作的Python语法是
del cmd_list[4:14 + 1]
(+ 1
是匹配你的代码所必需的.Python使用半开区间,即第一个索引包含在切片中,但最后一个不包括在内。)
答案 1 :(得分:3)
您可以使用:
cmd_list[start:end + 1] = []
或
del cmd_list[start:end + 1]
答案 2 :(得分:0)
切片可能最容易做到:
cmd_list = cmd_list[:start] + cmd_list[end+1:]
我们仍然需要在下半场结束+ 1,但它仍然是一个非常清晰的代码行。