基础数据类型之集合

1.集合的定义

在{}内用逗号分开多个元素,多个元素满足以下三个条件:

1.集合元素必须是不可变类型
2.集合元素无序
3.集合内元素没有重复(打印出来会自动去重)

d = {} 默认是定义空字典

需要定义空集合,需要使用s = set()

2,集合的作用

(1)关系运算

# 如何取出这两个人共同的朋友呢?
friend1=['zhang','yang','liu','tao']
friend2=['zhang','yang','xiao','wang']
# 没有学集合之前可以可以采取for循环的方法,如下:
l=[]
for i in friend1:
    if i in friend2:
        l.append(i)
print(l)

集合中提供了一种更简单的方法,具体见4内置方法

(2)去重

3.类型转换

使用set()方法,将括号里的数据转为集合类型,set方法自动对传入的数据调用了for循环的方法,循环之后的数据必须满足集合元素的要求!!

4.内置方法

4.1关系运算

friend1={'zhang','yang','liu','tao'}
friend2={'zhang','yang','xiao','wang'}

1.取交集,取出两者共同的好友

res = friend1 & friend2
print(res)

2.取并集,取出所有的好友

res = friend1 | friend2
print(res)

3.取差集,取friend1独有的好友

res = friend1 - friend2
print(res)
# 留下谁独有的就用谁去减另一个

4.取对称差集,取friend1和friend2独有的好友

print(friend1 ^ friend2)

5.父子集,包含关系

s1={1,2,3}
s2={1,2}
print(s1>s2) # true,s1是s2的父亲

4.2去重

1.只能针对不可变类型去重

priny(set([1,1,1,2,3])) # 结果为{1,2,3}

2.无法保证原来的顺序

4.3 成员运算 in\not in

4.4 len长度方法

4.5 for循环集合取值

4.6其他内置方法

增删改查

# 1.删除集合中的元素discard方法
s={1,2,3}
s.discard(3) # 删除元素不存在不报错
s.remove(4) # 删除元素不存在报错
res = s.pop() #随机删一个并返回改删除值

# 2.更新集合
s.update({1,3,5,6}) # 原集合不存在的元素添加,存在的去重

# 3.添加一个元素
s.add(8)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基础数据类型之集合 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 将侧边栏制成inclusion_tag

    在开发过程中,像侧边栏这种功能的版块,我们在很多页面都需要使用到的时候,我们则需要在视图函数中书写重复的代码,这样很繁琐,我们可以将侧边栏制成inclusion_tag,后面我们需要用到侧边栏功能时,只需要导入即可! 将侧边栏制成inclusion_tag的步骤: 1.在应用下创建一个名字必须叫templatetags的文件夹 2.在该文件夹内,创建一个任意…

    2023年4月2日
    00
  • 基础数据类型之元组

    1.元组的定义 元组,其实就是一个不可变的‘列表’ 用小括号()定义,括号内用逗号分隔开任意类型的数据,当只有一个数据时也需要加逗号 元组中的数据是不可改变指的是:数据的内存地址不可改变,如果元组里是列表(可变类型),可以通过方法往列表里增删值!!! 2.元组的作用 按照索引/位置存放多个数据,这些数据只用于读,不用于改 3.类型转换 tuple()方法转换…

    Python开发 2023年4月2日
    00
  • 权限类与频率类

    权限类 主要用途:用户登录了,某个接口可能只有超级管理员才能访问,普通用户不能访问 案列:出版社的所有接口,必须登录,而且是超级管理员才能访问 分析步骤 第一步:写一个类,继承BasePermission 第二步:重写has_permission方法 第三步:在方法校验用户时候有权限(request.user就是当前登录用户) 第四步:如果有权限,返回Tru…

    2023年4月2日
    00
  • python中的内置函数

    内置函数 # 1.abs函数 print(abs(-1)) # 绝对值方法 # 2.all函数 print(all([1,’aaa’,”])) # false print(all([])) # true #all方法里面是一个可迭代对象,all会自动将这个对象for循环一下,如果所有的值为true,则返回true;如果可迭代对象为空,则返回true # 3…

    Python开发 2023年4月2日
    00
  • 计算机介绍和五大组成

    1. 什么是计算机 计算机俗称‘电脑’,通电的人脑。其实,计算机所有的组成部分,都是模仿人的某一个功能或者器官。 2. 为什么要有计算机 为了执行人类通过编程语言编写的文件程序,从而把人类解放出来。 3.计算机的组成部分 计算机有五大组成部分:控制器、运算器、存储器、输入设备、输出设备。 3.1 控制器 它是计算机的指挥系统,负责控制计算机其他的组件如何进行…

    2023年4月2日
    00
  • 自动生成路由和action的使用

    自动生成路由 普通cbv视图形式的路由: path(‘books4/’, views.Book4View.as_view()), re_path(‘books4/(?P<pk>\d+)’, views.Book4DetailView.as_view()) 继承了ViewSetMixin及其子类的视图路由: path(‘books5/’, view…

    Python开发 2023年4月2日
    00
  • 实时展示用户上传的头像

    实时展示用户上传的头像 总体思路 “”” 1.首先需要给对应的上传头像input框绑定一个文本域变化事件 (当检测到用户对该文件框上传了头像就会触发一系列操作) 2.再生成一个文件阅读器对象 3.再获取用户上传的文件头像 4.把用户上传的文件头像交给文件阅读器对象FileReader读取 5.利用文件阅读器把读取的文件头像结果展示到前端页面 (修改img的s…

    Python开发 2023年4月2日
    00
  • 基础数据类型之数字和字符串

    1.数字类型 数字类型的数据可以相互的进行+-/*、也可以进行相互的比较(<>=) 1.1整型int age = 18 记录年龄等整数 print(type(age))# int类型 int()方法可以将其他类型的数据转换成int类型 1.1.2二、八、十六进制的相互转换 1.十进制《—》二进制 # bin()方法 print(bin(11)…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部