如何遍历Python 3中set()方法返回的集合对象元素?
遍历Python 3 set集合的几种实用方法
嘿,很高兴帮你解决这个问题!当你用set()创建出包含唯一元素的集合后,遍历它的方式其实和处理列表、元组这类可迭代对象差不多,下面是几种常用且易懂的方法:
直接用for循环遍历(最推荐)
这是最直观的方式,直接迭代集合里的每一个元素。要注意的是,set是无序的,所以每次运行代码时元素的遍历顺序可能不一样,但所有唯一元素都会被覆盖到:# 创建自动去重的集合 animal_set = set(["dog", "cat", "rabbit", "dog", "cat"]) # 遍历集合 for animal in animal_set: print(animal)输出示例(顺序可能变化):
cat
dog
rabbit用enumerate添加遍历序号
如果你需要给遍历的元素加上序号(注意:这不是集合的索引,因为set本身没有索引概念),可以用enumerate()函数实现:animal_set = set(["dog", "cat", "rabbit"]) for idx, animal in enumerate(animal_set): print(f"第{idx+1}个元素:{animal}")输出示例:
第1个元素:cat
第2个元素:dog
第3个元素:rabbit转成有序列表后遍历
要是你需要固定的遍历顺序,可以先把set转换成列表,甚至排序后再遍历:animal_set = set(["dog", "cat", "rabbit"]) # 直接转列表(顺序仍不确定) animal_list = list(animal_set) for animal in animal_list: print(animal) # 排序后遍历(得到稳定的有序结果) sorted_animals = sorted(animal_set) for animal in sorted_animals: print(animal)排序后的输出是固定的:
cat
dog
rabbit
最后补个小细节:Python的set基于哈希表实现,遍历效率特别高,哪怕集合里有上万条元素,遍历速度也会比普通列表快不少哦!
内容的提问来源于stack exchange,提问作者Marquistador




