gpt4 book ai didi

python - 删除Python中集合的最后一个元素

转载 作者:行者123 更新时间:2023-12-02 20:20:13 25 4
gpt4 key购买 nike

如何删除集合的最后一个元素,或创建一个没有最后一个元素的新集合?集合不支持索引。我有一组整数,想要删除最大的。

最佳答案

您可以使用 remove 方法删除任何指定的元素:

>>> s = {3, 'a', True}
>>> s
{'a', True, 3}
>>> s.remove(3)
>>> s
{'a', True}

但是,任何“最后”的概念都必须来自于集合本身之外,因为集合并不实现固定顺序的思想。请注意上面分配的值和打印值之间的差异。


OP澄清后更新

要删除集合中数值最大的元素:

s.remove(max(s))

您评论过:

if a set contains only integers, then the elements are by default listed in ascending order.

这是不正确的。例如:

>>> lll = [3**n for n in range(10)]
>>> sss = set(lll)
>>> sss
{1, 6561, 3, 19683, 9, 2187, 81, 243, 729, 27}

也许您对 Python 中整数的一些影响感到困惑。 (通常)256 以内的整数常量由运行时系统预先分配,以数字顺序存储在内存中,并进行特殊的哈希处理。这样做的效果之一是它们的哈希值是有序的。一旦超出该范围,散列就会不同,如上所示:

关于python - 删除Python中集合的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51600908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com