从列表中删除子列表

时间:2011-11-21 14:09:41

标签: 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[ i ] )

        return tmp_lst

我正在以下列方式打电话:

cmd_list = self.delete_sub_list( cmd_list, 4, 14 )

3 个答案:

答案 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,但它仍然是一个非常清晰的代码行。