繁体   English   中英

根据位置从python列表中删除元素?

[英]Removing element from a list on python based on position?

我只是想知道如何仅基于位置删除列表的一部分。

rando = keywords[random.randint(0, 14)]
h = 0
for h in range(len(keywords)):
    if rando == keywords[h]:
        position = h

realAns = definitions[position]

我试过了

rando.remove[h] 

但它似乎没有用:(

一旦正确,我将可以使用什么代码来删除该关键字(而不是定义)。 谢谢。

使用del并使用index指定要删除的元素。

>>> a=[i for i in range(1,11)]
>>>a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> del a[0]
>>> a
[2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> 

另外您还可以使用poppop返回删除的元素

>>> a=[i for i in range(1,11)]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a.pop(1)
2
>>> a
[1, 3, 4, 5, 6, 7, 8, 9, 10]
>>> 

如果未在pop中指定任何参数,它将删除最后一项。

>>> a=[i for i in range(1,11)]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a.pop()
10
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 

如果您还想获取要删除的内容,则可以执行以下操作:

rando.pop(h)

否则,请执行以下操作:

del rando[h]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM