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

Python集合

目录

添加

add

update

删除

remove

discard

pop

交集 &

并集 | 

公共操作

运算符

方法

 enumerate


元素被大括号包围,每个元素间用逗号隔开,就是集合。

它和字典的区别在于,字典是键值对,而集合只是单个元素,如下就是一个集合。

s1 = {10, 20, 30}
print(type(s1)) # <class 'set'>
print(s1)  # {10, 20, 30}

集合的特点在于,里面的元素不能是重复的,并且不支持下标访问。

添加

add

语法:setname.add(obj),将obj加入到集合中,如果obj在集合中已经存在,会去重。

s1 = {10, 20}
s1.add('3') 
print(s1) # {100,10,20}
s1.add(10) #如果添加的元素已经在集合中存在,会自动去重
print(s1) # {100,10,20}

update

语法:setname.add(obj),将obj加入到集合中,obj必须是一个可迭代的对象。

添加列表

s1 = {10, 20}
# s1.update(100) #100不是可迭代对象,会报错
# 添加列表
s1.update([100, 90]) # [100] 类型为列表,是一个可迭代对象
print(s1) # {100, 10, 20, 90}

添加元组

将(20,11)添加到s1中。

s1 = {10, 20}
s1.update((22,11))
print(s1) # {10, 11, 20, 22}

 添加集合

将集合{22,11}添加到集合s1中。

s1 = {10, 20}
s1.update({22,11})
print(s1) # {10, 11, 20, 22}

添加字典

s1 = {10, 20}
s1.update({22:11}) # 只会添加key,字典的键值对是一个整体,代表一个元素
print(s1) # {10, 20, 22}

把集合x和集合y合并,并去重

x = {"apple", "banana","music"}
y = {"apple", "runoob","google"}
x.update(y)
print(x) # {'runoob', 'google', 'apple', 'music', 'banana'}

删除

remove

语法:setname.remove(obj),将obj删除,如果obj不存在会报错。

s1 = {10, 20} 
s1.remove(10) #删除10
print(s1) # {20}
s1.remove(10) #集合中没有该数会报错

discard

语法:setname.discard(obj),将obj删除,如果不存在不会报错。

s1 = {10, 20}
s1.discard(10) 
print(s1) # {20}
s1.discard(10)
print(s1) # {20}

pop

语法:setname.pop(),随机删除集合中的某个数据,并返回这个数据。

s1 = {10,20,30,40,50,60}
del_num = s1.pop() 
print(del_num) # 50

交集 &

# 交集 &
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
se = a&b
print(se) # {3, 4}

并集 | 

# 并集 |
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
se = a | b
print(se) # {1, 2, 3, 4, 5, 6}

公共操作

运算符

运算符描述支持的容器类型
+合并字符串、列表、元组
*复制字符串、列表、元组
in元素是否存在字符串、列表、元组、字典、集合
not in元素是否不存在字符串、列表、元组、字典、集合

+

加号可以对两个字符串、列表、元组之间进行一个拼接。

# 1. +
# 字符串
s1 = 'hello '
s2 = 'music'
s3 = s1 + s2
print(s3) # hello music
# 列表
l1 = [1, 2, 3]
l2 = [4, 5, 6]
l3 = l1 + l2
print(l3) # [1, 2, 3, 4, 5, 6]
# 元组
t1 = (1, 2, 3)
t2 = (4, 5, 6)
t3 = t1 + t2
print(t3) # (1, 2, 3, 4, 5, 6)

*

对字符串、列表、元组进行*操作,本质就是复制拼接,比如s2 = s1 * 5, 就是s1后面拼接上4个s1,然后赋值给s2,这个操作并不会影响s1。

# 2. *
# 字符串
s1 = 'music '
s2 = s1 * 5
print(s2) # music music music music music
# 列表
l1 = [1, 2, 3]
l2 = l1 * 3
print(l2) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
# 元组
t1 = (1, 2, 3)
t2 = t1 * 3
print(t2) # (1, 2, 3, 1, 2, 3, 1, 2, 3)

in

in就是在的意思,可以判断一个元素在不在对象中,如果在返回True,不在返回False。

# 3. in
# 字符串
s1 = 'music good'
print('a' in s1) # False
# 列表
l1 = [1, 2, 3, 'music']
print('music' in l1)  # True
# 元组
t1 = [1, 2, 3, 'python']
print('music' in t1) # False
# 字典
dict1 = {'music':'月光奏鸣曲', 'teacher':'good'}
print('月光奏鸣曲' in dict1) # False
print('music' in dict1) # True
# 集合
set1 = {'music', 'teacher'}
print('music' in set1) # True

not in和in的用法是一样的,这里就不演示了。

方法

方法描述
len()计算元素个数
del()删除整个对象或某个元素
max()求一组数中的最大值
min()求一组数中的最小值
enumerate()将(下标,数据)一 一列出

len

这里只演示一个字典,其它类型都是一样的。 


dict1 = {'music':"good", 'teacher':'good'}
print(len(dict1)) # 2

del

del后面如果是某个元素,就删除某个元素,否则就删除所有数据。如果要删除的数据不存在,会报错。

dict1 = {'music':"good", 'teacher':'good'}
del dict1['music'] # 将 'music':'good'删除
print(dict1) # {'teacher': 'good'}

max

这个地方要注意,如果要使用max,那么必须数据类型都是一致的,不能出现整形又出现字符串,这是没法比较的。字符串和整形的比较规则不一样。

l1 = [1,2,3,4,5,6,7,8,9,10]
print(max(l1))

min 

min是求一组数中的最小值的,和max一样,数据类型要一致。

l1 = [1,2,3,4,5,6,7,8,9,10]
print(min(l1))

 enumerate

enumerate是配合for循环使用的,打印的时候可以把下标和对应的元素打印出来。

l1 = [1,2,3,4,5,6,7,8,9,10]
for i in enumerate(l1):print(i)


http://www.mrgr.cn/news/94835.html

相关文章:

  • 【MySQL基础-9】深入理解MySQL中的聚合函数
  • SpringCloud 学习笔记2(Nacos)
  • 数据结构篇——二叉树的存储与遍历
  • GaussDB备份数据常用命令
  • SSM框架——Spring面试题
  • 汇编基础知识
  • [HelloCTF]PHPinclude-labs超详细WP-Level 0
  • 解决git init 命令不显示.git
  • C++基础 [五] - String的模拟实现
  • Mock接口编写教程-axios-mock-adapter(React)
  • StarRocks + Paimon 在阿里集团 Lakehouse 的探索与实践
  • Python中的time模块
  • 操作系统相关知识
  • Docker下载,包含Win、Mac
  • C# WPF编程-启动新窗口
  • 超参数优化算法:scikit-opt库、Scikit-Optimize库
  • [设计模式与源码]1_Spring三级缓存中的单例模式
  • Unity教程(二十二)技能系统 分身技能
  • docker-compose install nginx(解决fastgpt跨区域)
  • LCR 159. 库存管理 III