網站首頁 編程語言 正文
一. 元組
元組是Python中的一個內置的數據結構,它是一個不可變的序列,所謂的不可變序列就是不可以進行增刪改的操作。
1.1 元組的創建
元組的創建可以使用兩種方式,第一種使用( ),第二種使用內置的函數tuple()進行創建。如果元組中的元素只有一個則需要加上逗號。
# author: 爪哇斗羅(javaDouLuo)
# date: 2022/7/13 21:06
# 元組的創建
tuple01 = (1, 2, 3, 4, 5,)
# <class 'tuple'>
print(type(tuple01))
# (1, 2, 3, 4, 5)
print(tuple01)
# 第二種方式
tuple02 = tuple((1, 2, 3, 4, 5))
# (1, 2, 3, 4, 5)
print(tuple02)
# 必須加逗號,不然是str類型
tuple03 = ('1',)
# <class 'tuple'>
print(type(tuple03))
1.2 元組的遍歷
元組遍歷使用for in的方式進行遍歷:
# 元組的創建
tuple01 = (1, 2, 3, 4, 5,)
# 1
# 2
# 3
# 4
# 5
for item in tuple01:
print(item)
二. 集合
2.1 集合的創建
集合也是Python中的一個內置數據結構,是可變序列的。集合的定義是使用{ }進行定義的。與字典的區別就是沒有value。
除了上面使用{ }聲明集合外,還可以使用內置函數set()進行創建。此外,集合中的元素不可重復。
# 使用{}創建
set01 = {1, 32, 3, 4, 5, 5, "12"}
# {32, 1, 3, 4, 5, '12'}
print(set01)
# 使用set()創建
set02 = set(range(0,5))
# {0, 1, 2, 3, 4}
print(set02)
2.2 集合的新增
集合新增使用有兩種方式,分別是add()與update()方法。主要區別就是前者一次添加一個元素,后者一次可以添加多個元素。
# 使用{}創建
set01 = {1, 32, 3, 4, 5, 5, "12"}
set01.add(100)
# {32, 1, '12', 3, 4, 5, 100}
print(set01)
set01.update({1,12,4})
# {32, 1, 3, 4, 5, 100, 12, '12'}
print(set01)
2.3 集合的刪除
刪除集合,主要提供了四種不同的方法,如下:
- remove(): 刪除指定元素,元素不存在拋異常
- discard():?刪除指定元素,元素不存在不拋異常
- pop(): 一次只刪除一個任意元素
- clear(): 清空集合
# 使用{}創建
set01 = {1, 32, 3, 4, 5, 5, "12"}
# 刪除1
set01.remove(1);
# 元素不存在拋異常:KeyError: 24
# set01.remove(24);
# {32, 3, 4, 5, '12'}
print(set01)
# 刪除任意一個元素
set01.pop();
# {3, 4, 5, '12'}
print(set01)
set01.discard(24)
# 元素不存在不拋出異常 {3, 4, 5, '12'}
print(set01)
set01.clear()
# 清空集合 set()
print(set01)
2.4 集合的關系
集合的關系有三種,分別是兩集合是否相等,是否有交集與子集。
1. 兩集合是否相等
兩集合是否相等,使用==或者!=進行判斷。
s1 = {1, 2, 3, 4, 5}
s2 = {5, 4, 3, 2, 1}
s3 = {5, 4, 3, 2, 1, 0}
# True
print(s1 == s2)
# False
print(s1 == s3)
# True
print(s2 != s3)
2. 子集
當B集合中的所有元素都在A集合中存在,則B是A的子集,通過issubset()判斷。
s1 = {1, 2, 3, 4, 5}
s2 = {5, 4, 3, 2, 1}
s3 = {5, 4, 3, 2, 1, 0}
# True
print(s1.issubset(s3))
3. 交集
當B集合中的部分元素在A集合中存在,則B與A存在交集,通過issubset()判斷是否沒有交集。
s1 = {1, 2, 3, 4, 5}
s2 = {5, 4, 3, 2, 1, 4}
s3 = {5, 4, 3, 0}
# False s2與s3有交集
print(s2.isdisjoint(s3))
原文鏈接:https://blog.csdn.net/qq_41857955/article/details/125772549
相關推薦
- 2022-11-23 iOS開發學習?ViewController使用示例詳解_IOS
- 2022-11-12 Python創建SQL數據庫流程逐步講解_python
- 2022-08-03 GoFrame?ORM原生方法操作示例_Golang
- 2022-12-12 Android?SharedPreferences數據存儲詳解_Android
- 2022-11-14 .NET?Core?Web?APi類庫內嵌運行的方法_實用技巧
- 2022-06-08 FreeRTOS任務控制API函數的功能分析_操作系統
- 2024-03-14 AOP切面編程,以及自定義注解實現切面
- 2022-04-18 Python裝飾器實現函數運行時間的計算_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支