删除列表中的项目而不减少总数

时间:2017-11-15 14:21:35

标签: python python-3.x

我们再来一次。所以我要做的是,让我们说我有一个这样的列表:

List = ['one','two','three']

他们都被分配到数字0,1,2,例如:

'one': 0, 'two': 1, 'three': 2

我现在要做的是想要从列表中删除某个项目...让我们说两个

List.remove('two')

但是,如果我这样做,'三'进入两个地方,总数减少一个。有没有办法可以删除两个,但仍然保留一个列表中的对象总数,删除的对象只是替换为'无'或类似的东西?

2 个答案:

答案 0 :(得分:7)

您可以使用以下内容将None或空字符串''替换为

List[List.index('two')] = None
# List = ['one', None, 'three']

List[List.index('two')] = ''
# List = ['one', '', 'three']

答案 1 :(得分:0)

您可以遍历字典并替换要删除的值:

:decimal

输出:

s = {'one': 0, 'two': 1, 'three': 2}
target = "two"
new_s = {a if a != target else None:b for a, b in s.items()}

这样,保留了“two”的计数值,但是用{'one': 0, 'three': 2, None: 1}

代替的键