首页 > 解决方案 > 如何在 Python 中修剪集合的大小

问题描述

我想减少集合中的元素数量。我对删除特定元素不感兴趣。任何元素都可以,但我想一次删除多个元素。如果 set.pop() 将接受计数作为参数,那就太好了,但不幸的是,事实并非如此。

有任何想法吗?我想避免在循环中使用 pop() ,因为我觉得它很麻烦。

标签: pythonset

解决方案


您始终可以转换为列表,切掉末尾并转换回集合:

s = {1, '2', 'three', 4, (5,), 6}
print(s)

required_length = len(s) - 2
s = set(list(s)[:required_length])

print(s)

输出:

{1, 4, 'three', 6, (5,), '2'}
{1, 4, 'three', 6}

推荐阅读