我想从长度大于3的列表中删除单词。
我用了del(item),但没用。
代码如下:lst=['XDA-OT','hi','loc','yeah']
for i in lst:
if len(i)>3:
del i
以及输出:
^{pr2}$
现在我使用了Python列表函数中的remove(),得到了期望的结果。在
以下是相同的代码:lst=['XDA-OT','hi','loc','yeah']
for i in lst:
if len(i)>3:
lst.remove(i)
输出:print(lst)
['hi', 'loc']
另外,我对使用list的index从list中删除一个元素有疑问,但是不知道如何定义这个问题。在
每当我使用索引删除一个元素时,就会出现索引器错误。
代码:lst=['XDA-OT','hi','loc','yeah']
for i in range(len(lst)):
if len(lst[i])>3:
del lst[i]
输出错误:IndexError
in ()
1 for i in range(len(lst)):
----> 2 if len(lst[i])>3:
3 del lst[i]
IndexError: list index out of range
使用remove()函数也一样。
代码:lst=['XDA-OT','hi','loc','yeah']
for i in range(len(lst)):
if len(lst[i])>3:
lst.remove(lst[i])
输出错误:IndexError
in ()
1 for i in range(len(lst)):
----> 2 if len(lst[i])>3:
3 lst.remove(lst[i])
IndexError: list index out of range