列表转集合用set()去重且无序,集合转列表用list()顺序不定,含不可哈希类型则转换失败,需去重保序可用dict.fromkeys()。

在 Python 中,列表(list)和集合(set)之间的相互转换非常简单,主要通过内置的 list() 和 set() 构造函数来实现。
列表转集合
使用 set() 函数可以将列表转换为集合。这个过程会自动去除列表中的重复元素,因为集合不允许重复值。
示例:
my_list = [1, 2, 2, 3, 4, 4]
my_set = set(my_list)
print(my_set) # 输出:{1, 2, 3, 4}
注意:转换后元素的顺序可能改变,因为集合是无序的。
集合转列表
使用 list() 函数可以将集合转换回列表。转换后的列表会保留集合中的所有元素,但顺序不确定。
立即学习“Python免费学习笔记(深入)”;
示例:
my_set = {1, 2, 3, 4}
my_list = list(my_set)
print(my_list) # 可能输出:[1, 2, 3, 4] 或其他顺序
注意事项
转换时需注意以下几点:
- 集合中不能包含不可哈希的类型(如列表、字典),因此如果列表中包含这些类型,无法直接转成集合
- 列表转集合会去重并丢失原有顺序
- 若需要保持顺序去重,可使用 dict.fromkeys() 方法:list(dict.fromkeys(my_list))
基本上就这些,不复杂但容易忽略细节。











