Python集操作remove(index)

2024-04-26 21:50:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python3.4.3(.py)脚本中使用下面的程序

number = {1,2,1,4,5,6,9}
print(number)
number.add(-5)  # adding some random number to the set
number.remove(3) # in this line python reports KeyError
print(number)
number.pop()
print(number)

但当我使用其他索引时

number.remove(2)  # works fine
number.remove(5)  # works fine 

有什么具体的原因我不能使用索引3被删除。你知道吗


Tags: thetopy程序脚本addnumberrandom
2条回答

^{}不会从集合中删除索引为x的项(在Python中集合是无序的),但是具有值的元素x:

remove(elem) Remove element elem from the set. Raises KeyError if elem is not contained in the set.

请查看remove(elem):

Remove element elem from the set. Raises KeyError if elem is not contained in the set.

因此,之所以number.remove(2)number.remove(5)有效而number.remove(3)无效,是因为25都存在于number3不存在。你知道吗


注意:如果您不想引发KeyError,可以使用discard(elem):

Remove element elem from the set if it is present.

如果elem不存在,它也会从集合中删除元素,但不会引发KeyError。你知道吗

相关问题 更多 >