您的位置:首页 > 编程语言 > Python开发

自己使用python的列表del函数一个思维误区

2013-05-23 15:10 841 查看
搜索关于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):
  File "<stdin>", line 1, in <module>
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个了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐