目录
1.什么是集合
2.集合与列表的区别
3.集合的创建方法
4.代码
1.什么是集合
它和列表一样,有很多的成员,也是一个序列/队列。
1)集合(set)是一个无序的不重复元素序列。
2)常用来对两个列表进行并集与差集的处理。或者给列表去重。
3)集合与列表一样,支持所有不可变的数据类型作为集合的成员。
集合的样子:

2.集合与列表的区别

3.集合的创建方法
1)通过set函数来创建集合,不能使用{}来创建空集合(python会认定创建的是字典类型)。
正确的创建方式和错误的创建方式对比:

4.代码
例1:
为什么在set()里面可以传一个列表?其实传的列表,只是将列表中的成员放到了集合中。并不是真正的把一个列表放进去。
比如b变量,实际上是把列表中的3个成员放了进去。而3个成员是3个字符串,是不可变的类型。
# coding:utf-8
a = set()
print(a)
print(type(a))
b = set(['python','django','flask'])
print(b)
c = {[1,2,3]}
print(c)
运行结果:不支持所有可变的数据类型作为集合的成员。
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_set/bin/python /Users/llq/PycharmProjects/pythonlearn/python_set/set_init.py
set()
<class 'set'>
{'django', 'python', 'flask'}
Traceback (most recent call last):
File "/Users/llq/PycharmProjects/pythonlearn/python_set/set_init.py", line 10, in <module>
c = {[1,2,3]}
TypeError: unhashable type: 'list'
进程已结束,退出代码为 1
例2:支持所有不可变的数据类型作为集合的成员。
# coding:utf-8
a = set()
print(a)
print(type(a))
b = set(['python','django','flask'])
print(b)
c = {(1,2,3),'123',1}
print(c)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/python_set/bin/python /Users/llq/PycharmProjects/pythonlearn/python_set/set_init.py
set()
<class 'set'>
{'flask', 'python', 'django'}
{1, (1, 2, 3), '123'}
进程已结束,退出代码为 0
例3:如果希望通过{}的形式定义一个空集合,是不可以的。
d = {}
print(d,type(d))
运行结果:
{} <class 'dict'>
例4:集合去掉了重复的内容。
a_list = ['python','django','python','flask']
b_set = set(a_list)
print(b_set)
运行结果:
{'django', 'python', 'flask'}