資料容器分為5類,分别是:
清單(list)、元組(tuple)、字元串(str)、集合(set)、字典(dict)
list
#字面量
[元素1,元素2,元素3,……]
#定義變量
變量名稱 = [元素1,元素2,元素3,……]
#定義空清單
變量名稱 = []
變量名稱 = list()
清單的方法
插入元素,删除元素,清空清單,修改元素,統計元素個數等
在python中,如果将函數定義為class的成員,那麼函數會稱之為:方法
1.查詢功能
文法:清單.index(元素)
統計清單内,有多少元素
文法:len(清單)
2.修改功能
文法:清單[下标] = 值
3.修改功能
插入元素
文法:清單.insert(下标,元素)
追加元素
文法1:清單.append(元素),将指定元素,追加到清單的尾部
文法2:清單.extend(其他資料容器),将其他資料容器的内容取出,依次追加到清單尾部
删除元素
文法1:del清單[下标]
文法2:清單.pop(下标)
删除某元素在清單中的第一個比對項
文法:清單.remove(元素)
清空清單内容
文法:清單.clear()
統計某元素在清單内的數量
文法:清單.count(元素)
練習案例:常用功能練習
有一個清單,内容是:[21,25,21,23,22,20],記錄的是一批學生的年齡
請通過清單的功能(方法),對其進行
1.定義這個清單,并用變量接收它
2.追加一個數字31,到清單的尾部
3.追加一個新清單[29,33,30],到清單的尾部
4.取出第一個元素(應是:21)
5.取出最後一個元素(應是:31)
6.查找元素31,在清單中的下标位置
list = [21,25,21,23,22,20]
list.append(31)
list.extend([29,33,30])
print(f"從清單中取出來第一個元素,應該是21,實際上是:{list[0]}")
print(f"從清單中取出來最後一個元素,應該是30,實際上是:{list[-1]}")
print(f"元素31在清單中的下标位置是:{list.index(31)}")
print(f"最後清單的内容是:{list}")
運作:
練習案例:取出清單内的偶數
定義一個清單,内容是:[1,2,3,4,5,6,7,8,9,10]
1.周遊清單,取出清單内的偶數,并存入一個新的清單對象中
2.使用while循環和for循環各操作一次
提示:
1.通過if判斷來确認偶數
2.通過清單的append方法,來增加元素
#定義清單,用list接收它
list = [1,2,3,4,5,6,7,8,9,10]
#定義一個空清單,用于接收偶數清單
my_list=[]
my_list2=[]
n = 0
#用for循環清單
for element in list:
if element % 2 == 0:
my_list.append(element)
print(f"通過for循環,從清單:{list}中取出偶數,組成新的清單{my_list}")
#用while循環清單
while n < len(list):
element = list[n]
if element % 2 == 0:
my_list2.append(element)
n += 1
print(f"通過while循環,從清單:{list}中取出偶數,組成新的清單{my_list2}")
運作:
元組
#定義元組字面量
(元素,元素,……元素)
#定義元組變量
變量名稱=(元素,元素,……元素)
#定義空元組
變量名稱=()
變量名稱=tuple()
練習案例:元組的基本操作
定義一個元組,内容是:(‘小蘭花’,11,[‘footba’,‘music’]),記錄的是一個學生的資訊(姓名、年齡、愛好)
請通過元組的功能(方法),對其進行
1.查詢其年齡所在的下标位置
2.查詢學生的姓名
3.删除學生愛好中的football
4.增加愛好:coding到愛好list内
#定義一個元組記錄學生的資訊
tuple = ('小蘭花',11,['football','music'])
#查詢年齡所在的下标位置
print(f"年齡所在的下标位置是:{tuple.index(11)}")
#查詢學生的姓名
name = tuple[0]
print(f"姓名為:{name}")
#删除愛好中的football
del tuple[2][0]
#增加愛好:coding到愛好list内
tuple[2].append('coding')
print(f"現在的元組是:{tuple}")
運作:
字元串
查找特點字元串的下标索引值
文法:字元串.index(字元串)
字元串的替換
文法:字元串.replace(字元串1,字元串2)
功能:将字元串内的全部字元串1,替換為字元串2
注意:不是修改字元串本身,而是得到了一個新字元串哦
字元串的分割
文法:字元串.split(分隔符字元串)
功能:按照指定的分隔符字元串,将字元串劃分為多個字元串,并存入清單對象中
注意:字元串本身不變,而是得到了一個清單對象
字元串的規整操作(去前後空格)
文法:字元串.strip()
字元串的規整操作(去前後指定字元串)
文法:字元串.strip(字元串)
統計字元串内某字元串的出現次數
文法:字元串.count(字元串)
統計字元串的字元個數
文法:len(字元串)
練習案例:分割字元串
給定一個字元串:“nitty is a nauty boy"
1.統計字元串内有多少個“ty“字元
2.将字元串内的空格,全部替換為字元:“|”
3.并按照“|”進行字元串分割,得到清單
提示:
count replace split
#定義字元串
my_str = "nitty is a nauty boy"
#統計字元串内有多少個“ty“字元
count = my_str.count("ty")
print(f"字元串nitty is a nauty boy中有:{count}個ty字元")
#将字元串内的空格,全部替換為字元:“|”
new_str = my_str.replace(" ","|")
print(f"字元串nitty is a nauty boy被替換空格後,結果:{new_str}")
#并按照“|”進行字元串分割,得到清單
list = new_str.split("|")
print(f"字元串{new_str}按照|分割後,得到:{list}")
運作:
序列
序列是指内容連續、有序,可使用下标索引的一類資料容器
清單、元組、字元串,均可以視為序列。
序列的常用操作-切片
切片:從一個序列中,取出一個子序列
文法:序列[起始下标:結束下标:步長]
練習案例:序列的切片實踐
有字元串:“步進日日,起一煙如霞暮兮念和,nohtpy學”
使用已學的任何方式,得到“念兮暮霞如煙”
參考:
1.倒序字元串,切片取出 或 切片取出,然後倒序
2.split分隔“,”replace替換“和”“一起”為空,倒序字元串
#定義字元串
a_str = "步進日日,起一煙如霞暮兮念和,nohtpy學"
#方法1 倒序字元串,切片取出
def method1():
print("方法1")
my_str = a_str[::-1]
print(f"倒序後的字元串:{my_str}")
index = my_str.index("念")
index2 = my_str.index("煙")
str = my_str[index:index2+1:]
print(f"切片取出的字元串:{str}")
#方法2 切片取出,然後倒序字元串
def method2():
print("方法2")
index2 = a_str.index("煙")
index = a_str.index("念")
my_str = a_str[index2:index+1:]
print(f"切片取出的字元串:{my_str}")
str = my_str[::-1]
print(f"倒序後的字元串:{str}")
#方法3 split分隔“,”replace替換“和”“一起”為空,倒序字元串
def method3():
print("方法3")
str = a_str.split(",")[1][::-1].replace("和"," ").replace("一起"," ").replace(" ","")
print(f"方法3得到的結果:{str}")
method1()
method2()
method3()
運作:
我是為了更清楚每一步的變化,把過程中的也print出來了,實際上可以更簡化,一句話解決。
今天先到這了,資料容器中的集合和字典明天繼續更新~