当前位置: 首页 > news >正文

python - 第五天

集合:

集合(set)是一个无序的不重复元素序列。

集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合(集合和字典都是用大括号创建但里面的形式是不一样的)

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典

创建集合:

set1={value1,value2.....};set2=set(value);

使用set()函数将其他可迭代对象转换为集合.

 set2=set(1,1,2,3,4); 这样直接就不行,会报错。

(在Python中,可迭代对象(Iterable)是指可以被用于循环(如 for 循环)的对象,即可以通过迭代器(Iterator)逐个访问其元素的对象。常见的可迭代对象包括列表(list)、元组(tuple)、字符串(str)、集合(set)和字典(dict)等。)

eg:

set1={1,2,3,4,5,1,2};#集合没有重复元素的意思就是说,如果有重复的元素,则只会保留一个。
print(set1);
print(type(set1));
set2=set([1,1,2,3,4]);#这个里面用的是列表
print(set2);
print(type(set2));

运行结果:

集合间的运算

集合之间的运算包括,差(-)交(|)并(&),异或(^)

eg:

set1={1,2,3,4,5,"hh"};
set2={1,2,3,"oo"};
set3=set1-set2#差集,set3中的元素是set1中有,set2中没有的元素;
set4=set1|set2;#并集,set1的所有元素加上set2的所有元素,重复的元素只保留一个;
set5=set1&set2;#交集,set1和set2共有的元素;
set6=set1^set2;#对称差集,set1和set2中不同时存在的元素。
print(set3);
print(set4);
print(set5);
print(set6);

运行结果:

集合的基本操作:添加,移除,计算,清空,判断;

添加元素:

语法格式:

s.add( x );

将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作

还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:

s.update( x );

.add(x) 中的 x 只能有一个,.update(x) 中 x 可以有多个,用逗号分开。

移除元素:

语法格式:

s.remove( x );

将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:

s.discard( x );

也可以设置随机删除集合中的一个元素,语法格式如下:

s.pop() ;

set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

计算集合元素个数

语法格式如下:

len(s);

清空集合

语法格式如下:

s.clear();

判断元素是否在集合中存在

语法格式如下:

x in s;

判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False

set1={1,2,3,4};set1.add(5);#添加元素,只能添加一个元素,如果添加的元素已经存在,则不添加。
print(set1);set1.update([6,7],"hello",("hello","world"));#也是添加,但是可以添加多个元素,而且所添加的可以是不同类型。
print(set1);  #注意,直接添加字符串,和通过列表添加字符串,在集合内的显示形式是不一样的 。
#直接添加字符串那个,最好集合中只有一个 l ,因为集合对重复元素只保存一个。 set1.remove(1);#删除,删除不存在元素会报错。这里不尝试,一会下面尝试
print(set1);set1.discard(2);#删除,删除不存在元素不会报错。
print(set1);set1.pop();#这里是随机删除,所以不指明元素,自己可以多调用这个函数几次,看看删除的结果是不是随机的。
print(set1);len_set1=len(set1);#获取集合的长度,就是集合内元素的个数。
print(len_set1);sign1= 4 in set1;#判断是否存在元素,存在返回True,不存在返回False。
sign2= 1 in set1;
print(f"sign1={sign1},sign2={sign2}");set1.clear();#清空集合
print(set1);set1.discard(1);#这里不会报错,因为集合是空的,所以删除不存在元素不会报错。
set1.remove(1);#这里会报错,因为集合是空的,所以删除不存在元素会报错。

运行结果:

http://www.dtcms.com/a/491001.html

相关文章:

  • 凡科网的网站建设怎么做网站 建设 公司
  • 透过浏览器原理学习前端三剑客:HTML、CSS与JavaScript
  • 镇江市网站建设江西省建设厅教育网站上查询
  • dede网站怎么设置首页相亲网站透露自己做理财的女生
  • Docker在已经构建好的镜像中安装包
  • 智慧物流赛项竞赛内容与技能要求深度解析
  • GPU散热革命:NVIDIA微通道液冷板(MLCP)技术深度解析
  • Docker安装部署MySQL一主二从集群
  • 搭建网站服务器多少钱网站在建设中是什么意思
  • Java 11对集合类做了哪些增强?
  • SQLSugar框架数据库优先
  • 工程建设教育网站北京网站建设cnevo
  • Vector数据库性能大比武:Pinecone、Weaviate、Chroma速度与准确率实测
  • 天津老区建设促进会网站移动开发的现状和前景
  • 笔试强训(六)
  • Iterator迭代器 【ES6】
  • spring boot实现接口数据脱敏,整合jackson实现敏感信息隐藏脱敏
  • 基于单片机的汽车多参数安全检测与报警系统设计
  • C++设计模式_行为型模式_备忘录模式Memento
  • 温州h5建站关于网站建设的文章
  • 大连专业做网站wordpress 4.5 汉化主题
  • Spring Boot 3零基础教程,Spring Boot 日志分组,笔记20
  • 【单调向量 单调栈】3676. 碗子数组的数目|1848
  • 【JUnit实战3_01】第一章:JUnit 起步
  • 公司门户网站该怎么做用模块做网站
  • 合肥网站定制公司宁波做网站公司哪家好
  • Banana Script,一个C99实现的,类JavaScript极简语法的脚本引擎
  • 14-机器学习与大模型开发数学教程-第1章 1-6 费马定理与极值判定
  • 写的网站怎么做接口php在网站上怎么做充值
  • nginx报400bad request 请求头过大异常处理