搜索关于python的list的del
随意找一篇:如下
------------------------------------------------------------------------------------------------------------------
del用于list列表操作,删除一个或者连续几个元素。示例程序如下:
>>> a = [-1, 3, 'aa', 85] # 定义一个list
>>> a
[-1, 3, 'aa', 85]
>>> del a[0] # 删除第0个元素
>>> a
[3, 'aa', 85]
>>> del a[2:4] # 删除从第2个元素开始,到第4个为止的元素。包括头不包括尾
>>> a
[3, 'aa']
>>> del a # 删除整个list
>>> a
Traceback (most recent call last):
NameError: name 'a' is not defined
>>>
很简答的很明了的函数。
我自己是做个测试
li = [1,2,3,4,5,6,7,8,9,10]
k = [5, 8]
for i in range(len(k)):
del li[k[i]]
print li我是准备希望从1-10中删除第5个和第8个元素(元素从0开始)
但结果是:[1, 2, 3, 4, 5, 7, 8, 9]
一直以为是函数用错了。下午才恍然大悟,自己思维上出问题。
why?
很简单,我是想先删掉第5个然后删掉第8个。
在删掉第5个的时候,原先的list第8个已经不是新list的第8个了。
本文通过实例解析Python列表del方法的使用,包括删除单个或多个元素的操作,并揭示了一个常见误解:在删除元素时,后续元素的索引会改变。通过一个测试案例,演示如何正确使用del方法来移除特定位置的元素,避免因索引变动导致的数据误删。
801

被折叠的 条评论
为什么被折叠?



