我只是想知道如何能够完全基于位置删除列表的一部分。
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]
但它似乎不起作用:(
一旦正确,我可以用什么代码删除该关键字(而不是定义)。感谢。
答案 0 :(得分:1)
使用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]
>>>
此外,您还可以使用pop
, pop
返回已删除的元素。
>>> 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]
>>>
答案 1 :(得分:0)
如果您还希望获得删除内容,可以执行以下操作:
rando.pop(h)
否则只需:
del rando[h]