使用索引 Python 删除列表项的更有效方法
什么是更有效的替代方案:
del List[List.index(aString)]
我觉得你也应该试试pop()
。您可以通过指定您在问题中提出的索引号来删除元素。
aList = [123, 'xyz', 'zara', 'abc'];
print aList
print aList.pop(0) ###pop(index_number)
print aList
输出将是:
[123, 'xyz', 'zara', 'abc']
123
['xyz', 'zara', 'abc']
如果要按索引删除,则使用 pop 它不会引发错误:
x_list = ['abx', 'sdf', 'sdk', '4', '45']
x_list.pop('sdf')
print x_list
['abx', 'sdf', '4', '45']
你也可以这样做:
x_list = [x for x in x_list if x!='sdk']
print x_list
['abx', 'sdf', '4', '45']
您可以使用list.remove
如下
x = ['a', 'b', 'c', 'a']
x.remove('a')
print(x)
# ['b', 'c', 'a']
x.remove('d')
# ValueError
请注意,如果您的列表中没有“d”,那么它将引发 ValueError,您可以通过使用try...except...
块来解决此问题
try:
x.remove('d')
except ValueError:
pass