【Python】序列通用操作
生活随笔
收集整理的這篇文章主要介紹了
【Python】序列通用操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
一 ?序列通用操作
1 判斷值是否屬于序列
2 序列鏈接與重復
3 下標索引
4 切片
5 步長
6 序列的基本內置全局函數
二 ?列表list常用操作
1 列表的特征
2 列表與生成器
3 可變列表list常用操作
1)添加元素
2)刪除元素
3)插入元素
4)復制
5)排序
4 講一講元祖tuple :不可變的“列表”
三 ?文本序列str常用操作
1 字符串引號
2 轉義字符:\
3 序列通用功能
4 字符串常用功能
5 格式化字符:在字符串中插入變量
6 格式化字符:數字格式化的那些坑
一 ?序列通用操作
序列分類:可變序列list,不可變序列tuple、str
1 判斷值是否屬于序列
# 判斷值是否屬于序列lst = [1,2,3,4,5,6] a,b = 1,10 print(a in lst) # a 在 lst 序列中 , 如果 x 在 y 序列中返回 True。 print(b not in lst) # b 不在 lst 序列中 , 如果 x 不在 y 序列中返回 True。2 序列鏈接與重復
# 序列鏈接與重復lst1 = [1,2,3] lst2 = ['a','b','c'] print(lst1+lst2) # "+":序列的鏈接 print(lst1*3,lst2*2) # "*":序列重復3 下標索引
# 下標索引lst = [1,2,3,4,5,6,7,8,9,0] print(lst[0],lst[2],lst[9]) # 索引從0開始,eg lst[2]中,下標索引是2,指向lst的第3個值 print(lst[-1]) # 索引-1代表最后一個值 #print(lst[10]) # 這里一共有10個值,所以最大索引是94 切片
# 切片lst = [1,2,3,4,5,6,7,8,9,0] print(lst[2:5]) # 切片可以理解成列表的值區間,且是一個左閉右開區間,這里lst[2:5]代表的區間是:索引2的值 - 索引4的值 print(lst[:5]) # 左邊無索引,代表從索引0開始 print(lst[4:]) # 右邊無索引,代表以最后一個值結束 print(lst[5:-1]) # 索引5的值 - 倒數第二個值 (切片是右閉區間,注意了)5 步長
# 步長lst = [1,2,3,4,5,6,7,8,9,0] print(lst[0:5:2]) # List[i:j:n]代表:索引i - 索引j,以n為步長 print(lst[::2]) # 按照2為步長,從第一個值開始截取lst數據 print(lst[1::2]) # 按照2為步長,從第二個值開始截取lst數據6 序列的基本內置全局函數
# 序列的基本內置全局函數lst = [1,2,3,4,5,6,7,8,9,0] print(len(lst)) # 列表元素個數 print(max(lst),min(lst),sum(lst)) # 返回列表的最大值、最小值、求和,這三個函數都只針對數字的list print(lst.index(3)) # .index(obj)方法:從列表中找出某個值第一個匹配項的索引位置lst = [1,1,2,3,3,4,4,4,4,5,6] print(lst.count(4)) # .count(obj)方法:計算值的出現次數二 ?列表list常用操作
序列是Python中最基本的數據結構,它支持字符,數字,字符串甚至可以包含列表(即嵌套)
列表用 [ ] 標識,是 python 最通用的復合數據類型。
列表中值的切片也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標可以為空表示取到頭或尾。
加號 + 是列表連接運算符,星號 * 是重復操作
1 列表的特征
# 列表的特征lst1 = [1,2,3,'a','b','c',[1,2,3]] # 可包含任意類型的對象:數值、字符串、列表等lst2 = [143,56,894,67,43] print(lst2[0],lst2[4],lst2[-1]) # 通過下標索引訪問序列中的值 → 序列的順序是不能改變的,通過索引來定位列表的元素lst3 = [1,2,3] lst3 = lst3 * 3 print(lst3) # 可隨意變換列表長度,相當于隨意指定新的列表lst4 = [1,2,['a','b']] # 可嵌套lst5 = [100,101,102] lst5[0] = 10 print(lst5) # 可原位改變2 列表與生成器
# 列表與生成器print(range(5),type(range(5))) # range()是生成器,指向了一個范圍 # range(5)代表指向了0,1,2,3,4這幾個值 # range(2,5)代表指向了2,3,4這幾個值,注意這里不是使用: # range(0,10,2)代表指向了0,2,4,6,8這幾個值,最后的2代表步長lst = list(range(5)) print(lst) # 通過list()函數生成列表3 可變列表list常用操作
1)添加元素
# 可變列表list常用操作 - 添加元素lst = list(range(10)) lst.append('hello') print(lst) # list.append() 添加元素lst.append(['a','b','c']) print(lst) lst.extend(['a','b','c']) print(lst) # 添加多個元素用.extend()方法:用新列表擴展原來的列表,注意和append()方法的區別2)刪除元素
# 可變列表list常用操作 - 刪除元素lst = ['Jack','Jack','Tom','Tracy','Alex','White'] lst.remove('Jack') print(lst) # .remove方法:移除列表中某個值的第一個匹配項del lst[3:5] print(lst) # del語句:刪除list的相應索引值lst.clear() print(lst) # 移除所有值3)插入元素
# 可變列表list常用操作 - 刪除元素lst = ['Jack','Jack','Tom','Tracy','Alex','White'] lst.remove('Jack') print(lst) # .remove方法:移除列表中某個值的第一個匹配項del lst[3:5] print(lst) # del語句:刪除list的相應索引值lst.clear() print(lst) # 移除所有值4)復制
# 可變列表list常用操作 - 復制lst = list(range(10)) lst1 = lst lst1[2] = 'hello' print(lst,lst1) # lst,lst1指向同一個列表lst = list(range(10)) lst2 = lst.copy() lst2[2] = 'hello' print(lst,lst2) # list.copy()方法:復制一個新的列表,lst,lst2指向兩個列表(雖然兩個列表值相同)5)排序
# 可變列表list常用操作 - 排序lst1 = [12,45,32,98,45,66,3] lst2 = ["asd", "cxv", "ghv"] lst1.sort() lst2.sort() print(lst1,lst2) # 默認升序排序/字母順序lst1.sort(reverse=True) lst2.sort(reverse=True) print(lst1,lst2) # 參數reverse:反向排序,針對數字lst3 = sorted(lst1) lst3.append('hello') print(lst1,lst3) # 函數sorted():排序并復制4 講一講元祖tuple :不可變的“列表”
# 講一講元祖tuple :不可變的“列表”tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d" # 可以不加括號 tup4 = (50,) # 元組中只包含一個元素時,需要在元素后面添加逗號print(tup1[2],tup3[:2]) # 索引、切片和list一樣del tup3 # 元祖不能單獨刪除內部元素(不可變性),但可以del語句來刪除整個元祖 #print(tup3)print(len(tup1)) print(tup1 + tup2) print(tup4 * 3) print(max(tup2),min(tup2)) # 序列通用函數lst = list(range(10)) tup5 = tuple(lst) print(tup5) # tuple()函數:將列表轉換為元組三 ?文本序列str常用操作
字符串是 Python 中最常用的數據類型。我們可以使用引號('或")來創建字符串
字符串也是序列:文本序列
1 字符串引號
# 字符串引號str1 = "abc" str2 = 'abc' str3 = 'my name is "fatbird"' # 雙引號單引號無區別,但文本中有引號的時候要相互交替使用str4 = '''hello! how are you?I`m fine, thank you.''' # 需要多行字符串時候用三引號 ''' ''',""" """2 轉義字符:\
# 轉義字符:\print('\'', '\"') # \',\" :分別輸出單引號,雙引號 print('hello\nhow do you do?') # \n:空行 print('\\') # 輸出\,所以文件路徑用“/”或者“\\”3 序列通用功能
# 序列通用功能print('a' in 'abc') # in/not in :判斷是否存在 print('我很帥' + "沒錯") # 文本連接 print('handsome '*4) # 文本復制st = 'abcdefg' print(st[2],st[-1]) print(st[:2]) print(st[::2]) # 索引、切片、步長print(st.index('g')) # .index()方法 print('st長度為:',len(st)) # 計算字符串長度(思考這里能否把逗號換為"+")4 字符串常用功能
# 字符串常用功能st = "i`m handsome!" st2 = st.replace('handsome','ugly') print(st) print(st2) st = 'hahaha' st2 = st.replace('ha','he',2) print(st2) # str.replace(old,new,count):修改字符串,count:更換幾個st = "poi01,116.446238,39.940166" lst = st.split(',') print(lst) # str.split(obj):拆分字符串,生成列表lst = ['poi01', '116.446238', '39.940166'] m = '-' st = m.join(lst) print(st) # str.join():連接字符串,對象為序列st = 'abcdefg' print(st.startswith('a'), st.endswith('f')) # str.startswith(“str”) 判斷是否以“str”開頭;str.endswith (“str”) 判斷是否以“str”結尾st = 'aBDEAjc kLM' print(st.upper()) # 全部大寫 print(st.lower()) # 全部小寫 print(st.swapcase()) # 大小寫互換 print(st.capitalize()) # 首字母大寫st = '1234567' print(st.isnumeric()) # 如果 string 只包含數字則返回 True,否則返回 False.st = 'DNVAK' print(st.isalpha()) # 如果 string 至少有一個字符并且所有字符都是字母則返回 True,否則返回 Falsest = 'avd ' print(st.rstrip()) # 刪除字符末尾的空格5 格式化字符:在字符串中插入變量
# 格式化字符:在字符串中插入變量name = "FATBIRD" truth = "%s is 好人" %name print(truth) # %s 表示我們這里要插入一個變量(字符串),%name代表這里我們插入name → 所以,兩個%解決問題x = 4 y = "hehe" z = 4.2 print("this is %i" %x) print("this is %s" %y) print("this is %f" %z) # %s的s有什么含義:%s %z %f都是格式化字符串,s/i/f分別代表插入字符串的源數據類型:整型/字符型/浮點型6 格式化字符:數字格式化的那些坑
# 格式化字符:數字格式化的那些坑m = 3.1415926 print("pi is %f" %m) print("pi is %.2f" %m) # 我只想輸出2位小數:%.2f,此處是四舍五入!m = 10.6 print("pi is %i" %m) print("pi is %.0f" %m) # 區別:%i 不四舍五入,直接切掉小數部分m = 100 print("have fun %+i" %m) print("have fun %.2f" % -0.01) # 顯示正號,負號根據數字直接顯示m = 100 print("have fun % i" %m) print("have fun % +i" %m) print("have fun % .2f" %-0.01) # 加空格,空格和正好只能顯示一個m = 123.123123123 print("have fun %.2e" %m) print("have fun %.4E" %m) # 科學計數法 %e %Em1 = 123.123123123 m2 = 1.2 print("have fun %g" %m1) print("have fun %g" %m2) # 小數位數少的時候自動識別用浮點數,數據復雜的時候自動識別用科學計數法?
總結
以上是生活随笔為你收集整理的【Python】序列通用操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 攀登《关键对话》
- 下一篇: 【Python】条件及循环语句