前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >python全栈开发《58.什么是集合》

python全栈开发《58.什么是集合》

作者头像
清菡
发布2024-11-05 20:49:24
发布2024-11-05 20:49:24
6600
代码可运行
举报
文章被收录于专栏:清菡软件测试清菡软件测试
运行总次数:0
代码可运行

1.什么是集合

它和列表一样,有很多的成员,也是一个序列/队列。

  • 1)集合(set)是一个无序的不重复元素序列。
  • 2)常用来对两个列表进行并集与差集的处理。或者给列表去重。
  • 3)集合与列表一样,支持所有不可变的数据类型作为集合的成员。

集合的样子:

2.集合与列表的区别

3.集合的创建方法

  • 1)通过set函数来创建集合,不能使用{}来创建空集合(python会认定创建的是字典类型)。

正确的创建方式和错误的创建方式对比:

4.代码

例1:

为什么在set()里面可以传一个列表?其实传的列表,只是将列表中的成员放到了集合中。并不是真正的把一个列表放进去。

比如b变量,实际上是把列表中的3个成员放了进去。而3个成员是3个字符串,是不可变的类型。

代码语言:javascript
代码运行次数:0
复制
# coding:utf-8

a = set()
print(a)
print(type(a))

b = set(['python','django','flask'])
print(b)

c = {[1,2,3]}
print(c)

运行结果:不支持所有可变的数据类型作为集合的成员。

代码语言:javascript
代码运行次数:0
复制
/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:支持所有不可变的数据类型作为集合的成员。

代码语言:javascript
代码运行次数:0
复制
# 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)

运行结果:

代码语言:javascript
代码运行次数:0
复制
/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:如果希望通过{}的形式定义一个空集合,是不可以的。

代码语言:javascript
代码运行次数:0
复制
d = {}
print(d,type(d))

运行结果:

代码语言:javascript
代码运行次数:0
复制
{} <class 'dict'>

例4:集合去掉了重复的内容。

代码语言:javascript
代码运行次数:0
复制
a_list = ['python','django','python','flask']
b_set = set(a_list)
print(b_set)

运行结果:

代码语言:javascript
代码运行次数:0
复制
{'django', 'python', 'flask'}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.什么是集合
  • 2.集合与列表的区别
  • 3.集合的创建方法
  • 4.代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档