元組
元組也是一組有序數(shù)據(jù)的組合,和列表唯一的不同時(shí),元組不可修改
列表比作一個(gè)用鉛筆寫的清單(擦了,修改)
元組比作一個(gè)用鋼筆寫的清單(不能擦)
元組的操作
創(chuàng)建元組
1.創(chuàng)建空元組
變量 = () 或者 變量 = tuple()
2.創(chuàng)建單個(gè)元素的元組
變量= (值,) 或者 變量 = 值,
3.創(chuàng)建多個(gè)元素的元組
變量 = (值,值...) 或者 變量 = 值,值...
基本操作
1.訪問元素
變量[索引]
2.修改元素(不能)
3.刪除元素(不能)
4.添加元素(不能)
序列操作
序列操作:索引,分片,最大值,最小值,長度,加法,乘法。。
1.元組相加:
變量 = 元組1 + 元組2
結(jié)果:新的元組
2.元組相乘
變量 = 元組 * 整數(shù)
結(jié)果:新的元組
3.索引操作
變量[索引] 只能訪問不能修改和刪除
4.分片
格式: 變量[:] 獲取整個(gè)元組的元素
格式:變量[開始索引:] 從開始索引的元組截取末尾
格式: 變量[:結(jié)束索引] 叢開頭截取到結(jié)束索引之前
格式: 變量[開始索引:結(jié)束索引] 從開始索引位置截取到結(jié)束索引之前
格式: 變量[開始索引:結(jié)束索引:間隔值] 從開始索引位置按照間隔值截取到結(jié)束索引之前
5.成員檢測(cè):
格式:值 in 元組
作用:檢測(cè)一個(gè)值是否在元組當(dāng)中
格式:值 not in 元組
作用:檢測(cè)一個(gè)值是否不再元組當(dāng)中
序列函數(shù)
len() 獲取元組的長度
max() 獲取元組中的最大值
min() 獲取元組中的最小值
tuple() 創(chuàng)建空元組或者將其他序列轉(zhuǎn)化為元組類型
元組的遍歷
1.簡單元組遍歷
變量 = (值1,值2,值3...)
for 變量 in 元組:
使用變量獲取元組的每個(gè)值
2.使用while循環(huán)遍歷
i = 0
while i<len(元組):
使用元組變量[i]訪問每個(gè)值
i += 1
3.多級(jí)元組的遍歷(長度相同)
元組 = ((值1,值2...),(值1,值2...)...)
for 變量1,變量2.. in 元組:
使用變量1和變量2
4.多級(jí)元組的遍歷(長度不相同)
元組 = ((值1,值2...),(值1,值2...)...)
for 變量1 in 元組:
for 變量2 in 變量1:
使用變量2獲取每個(gè)值
5.直接獲取二級(jí)元組的值
tuple1[1][3]
元組內(nèi)涵/元組推導(dǎo)式
1.基本的格式:
格式: 變量 = (i for i in 元組)
結(jié)果:不是元組而是一個(gè)生成器
2.帶有條件的格式:
格式: 變量 = (i for i in 元組 if 條件表達(dá)式)
結(jié)果:不是元組而是一個(gè)生成器
3.多個(gè)循環(huán)的推導(dǎo)式:
格式: 變量 = (x+y for x in 元組1 for y in 元組2)
結(jié)果:不是元組而是一個(gè)生成器
x+y可以是其他操作
4.帶有條件的多個(gè)循環(huán)的推導(dǎo)式:
格式: 變量 = (x+y for x in 元組1 for y in 元組2 if 條件表達(dá)式)
結(jié)果:不是元組而是一個(gè)生成器
x+y可以是其他操作
作用:把99乘法表再用這個(gè)元組推導(dǎo)式做一遍,還得遍歷處理
元組函數(shù)
index() 獲取指定值在元組中的索引值
格式:元組.index(值)
返回值:整數(shù)
count() 計(jì)算某個(gè)值在元組中出現(xiàn)的次數(shù)
格式:元組.count(值)
返回值:整數(shù)
變量交換
變量1,變量2 = 變量2,變量1