2024-04-24 16:38:19 发布
网友
我有一张这样的单子:
['A','B','C']
我需要的是根据我在函数中得到的输入删除一个元素。例如,如果我决定删除它,它应该返回:
['B','C']
我没有成功
list = ['A','B','C'] [var for var in list if list[var] != 'A']
我该怎么做? 谢谢
简单的lst.remove('A')将起作用:
lst.remove('A')
>>> lst = ['A','B','C'] >>> lst.remove('A') ['B', 'C']
然而,对.remove的一次调用只会删除列表中'A'的第一次出现。要删除所有'A'值,可以使用循环:
.remove
'A'
for x in range(lst.count('A')): lst.remove('A')
如果你坚持使用列表理解,你可以使用
>>> [x for x in lst if x != 'A'] ['B', 'C']
上述操作将删除所有等于'A'的元素。
对代码的改进(几乎是正确的)是:
list = ['A','B','C'] [var for var in list if var != 'A']
然而,@frostnational的方法对于单个值来说是更好的。
如果要有一个不允许的值列表,可以按以下方式执行:
list = ['A','B','C', 'D'] not_allowed = ['A', 'B'] [var for var in list if var not in not_allowed]
您可以使用list的remove方法。只要做list.remove('A')它就会被删除。
remove
list.remove('A')
如果要删除项的索引,请使用pop方法。list.pop(0)。
pop
list.pop(0)
简单的
lst.remove('A')
将起作用:然而,对
.remove
的一次调用只会删除列表中'A'
的第一次出现。要删除所有'A'
值,可以使用循环:如果你坚持使用列表理解,你可以使用
上述操作将删除所有等于
'A'
的元素。对代码的改进(几乎是正确的)是:
然而,@frostnational的方法对于单个值来说是更好的。
如果要有一个不允许的值列表,可以按以下方式执行:
您可以使用list的
remove
方法。只要做list.remove('A')
它就会被删除。如果要删除项的索引,请使用
pop
方法。list.pop(0)
。相关问题 更多 >
编程相关推荐