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

python学习记录11

(1)集合

python中的集合含义与数学中的集合一致,都是由无序的、不重复的元素组成的序列。集合与列表、字典一样,属于可变数据类型,且集合中的元素只能是不可变数据类型。

创建集合可以用两种方法,第一种是直接使用{}创建;第二种是使用内置函数set。注意,创建空集合的方法只有使用set(),而不是将{}赋给变量的方法,因为这样的方法创造的是一个空字典。空集合、空字典、空列表、空元组的布尔值均为False。

#创建集合
import random
s1 = {1,2,3,4,5,6,7}
print(s1,type(s1))
s2 = set('helloworld')
print(s2)
s3 = set([1,6,10,'hello'])
print(s3)
s4 = set(range(1,10))
print(s4)
s5 =set(random.randint(1,100) for i in range(1,5))
print(s5)

与所有序列一样,集合可以用序列的一系列操作

#集合的操作
s1 = {1,5,6,3,45,6,7,8}
print(max(s1))
print(min(s1))
print(1 in s1)
del s1

既然python中的集合与数学里的集合一致,那么它与数学里的集合一样可以用交、并、差、补的计算方法。

#集合的操作符
s1 = {1,2,3,4,5,6,7,8,9}
s2 = {2,4,6,8,10,12,14,16}
print(s1&s2)#交集
print(s1|s2)#并集
print(s1-s2)#差集
print(s1^s2)#补集

集合作为python中的可变序列,自然也有自己的操作方法。具体操作方法有:

set.add(element) #若集合中没有这个元素,则在集合中增加一个这样的元素

set.remove(element)#若集合中有这个元素,则删除这个元素

set.clear()#清空这个集合,得到一个空集

s1 ={1,2,3,4,5,6,7,8,9}
s1.add(10)
print(s1)
s1.remove(1)
print(s1)
s1.clear()
print(s1)

集合也有自己的遍历方法,集合的遍历方式有两种:for-in语句:for item in set和 使用enumerate函数:for order,item in enumerate (set),这里的前面打印出来的数字是序号不是索引

#集合的遍历
set1 = {1,2,3,4,5,6,7,8,9,10}
for i in set1:
    print(i,end = ' ')
for o,i in enumerate(set1):
    print(o,':',i,end=" ")

集合的生成式使用for i in range的方法,或者for i in range if的方法

#集合的生成式
set2 ={i for i in range(1,10)}
print(set2)
set3 ={i for i in range(1900,2025) if (i%4==0 and i%100 != 0)or i%400 == 0}#列出1900到2024中所有为闰年的年份
print(set3)


http://www.kler.cn/news/368479.html

相关文章:

  • 【进阶】面向对象之接口(多学三招)
  • 联想笔记本电脑睡眠后打开黑屏解决方法
  • 【CCL】浅析 CFX Command Language
  • LLM | 论文精读 | NeurIPS 2023 | SWIFTSAGE: 结合快思考与慢思考的生成智能体
  • C语言 - GNU C 和 ANSI C 之间的差异
  • 温泉押金原路退回系统, 押金+手牌+电子押金单——未来之窗行业应用跨平台架构
  • 【云原生】云原生后端:网络架构详解
  • Springboot项目中使用WebSocket与前端通信时,AOP的before注解未起作用
  • 探索网页组件化:原生JavaScript动态加载HTML与iframe的使用与比较
  • 基于IMX6ULL开发板LCD点阵显示字符学习
  • FreeSWITCH JSON API
  • 【服务器】服务器部署后端,开放后端端口
  • stm32 开发环境的 搭建
  • Oracle 运维相关概念及操作
  • 逻辑推理学习笔记
  • [mysql]单行函数的练习
  • css知识点梳理2
  • 【论文阅读】PGAN
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第六十七章 Trusted Firmware-A 移植
  • 鸿蒙中常见的性能优化
  • 2024.10.24华为(留学生)笔试题解
  • 道路车辆功能安全 ISO 26262标准(9-4)—面向汽车安全完整性等级 (ASIL) 和安全的分析
  • ELK日志收集
  • TortoiseSVN 添加日志模板
  • SQL中实现去重的多种方法
  • VMware 版本不兼容问题及解决方案