python中的remove()方法是对列表元素进行删除操作的方法,括号中的参数是指定要删除的元素。该方法并不会删除列表中所有的指定要删除的元素,只会在该元素第一次出现时(从前往后遍历列表元素),将该位置的元素删除,同时返回删除后的新列表。
data = [0, 4, 5, 4, 6] print(data) data.remove(4) print(data)
以下是代码的输出结果:
[0, 4, 5, 4, 6]
[0, 5, 4, 6]
请注意,remove()方法是对地址进行操作的方法。
data = [0, 4, 5, 4, 6] data_new = [1, 2, 3] data.append(data_new) print(data) data_new.remove(2) print(data_new) print(data)
以下是代码的输出结果:
[0, 4, 5, 4, 6, [1, 2, 3]]
[1, 3]
[0, 4, 5, 4, 6, [1, 3]]
从代码的输出结果可以看出,虽然将data_new列表通过append()方法追加到data列表里,但是使用remove()方法对data_new列表进行操作之后,data()列表也会发生变化。如果在编写代码的过程中只想改变data_new列表的元素而不想更改data列表的元素,需要重新创建一个data_copy空列表先接收data_new列表的元素后再对其进行remove()操作(不能将data_new列表的直接赋值给data_copy列表)。
data = [0, 4, 5, 4, 6] data_new = [1, 2, 3] data.append(data_new) print(data) data_copy = [] for i in range(len(data_new)): data_copy.append(data_new[i]) data_copy.remove(2) print(data_copy) print(data_new) print(data)
以下是代码的输出结果:
[0, 4, 5, 4, 6, [1, 2, 3]]
[1, 3]
[1, 2, 3]
[0, 4, 5, 4, 6, [1, 2, 3]]
该文章主要用来记录作者在学习编程时遇到的问题及解决办法,如果有误请各位批评指正!
如果有更好的方法欢迎各位大佬在评论区留言~