Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除列表中的项目而不减少总数_Python_Python 3.x - Fatal编程技术网

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

Python 删除列表中的项目而不减少总数,python,python-3.x,Python,Python 3.x,我们又来了。所以我想做的是,假设我有这样一个列表: List = ['one','two','three'] 它们都被分配到数字0,1,2,例如: 'one': 0, 'two': 1, 'three': 2 我现在要做的是从我的列表中删除一个项目。。。让我们说两个 List.remove('two') 但如果我这样做,“三”变成了“二”,总量减少了一。是否有一种方法可以删除两个对象,但仍将对象总数保留在列表中,删除的对象仅替换为“无”或类似的对象?您可以使用以下方法将其替换为None或空

我们又来了。所以我想做的是,假设我有这样一个列表:

List = ['one','two','three']
它们都被分配到数字0,1,2,例如:

'one': 0, 'two': 1, 'three': 2
我现在要做的是从我的列表中删除一个项目。。。让我们说两个

List.remove('two')

但如果我这样做,“三”变成了“二”,总量减少了一。是否有一种方法可以删除两个对象,但仍将对象总数保留在列表中,删除的对象仅替换为“无”或类似的对象?

您可以使用以下方法将其替换为
None
或空字符串
'

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


您可以迭代字典并替换要删除的值:

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

{'one': 0, 'three': 2, None: 1}

这样,“2”的计数值就保留了,但是用
None

替换的键可以用某个对象替换要删除的元素。如果它们都是“分配给数字”,你确定不应该使用dict而不是list吗?问题与我的问题类似,我真的觉得这个答案没有詹姆斯下面回答的那么有用。我想是的。也许你应该接受James的回答。
我现在想做的是从我的列表中删除一个项目
我想OP想从列表中删除该项目,而不去查字典(我认为这只是查找键应该在哪里,如果它存在的话)。
{'one': 0, 'three': 2, None: 1}