python基礎之資料結構
一、序列
1、序列是一組按照順序排列的值【資料集合】;
2、在python中,存在三種內建的序列型別:字串、列表、元組;
3、支援索引、切片操作;
4、索引:第一個正索引為0,指向的是左端,第一個索引為負數的時候,指向的是右端;
5、切片:擷取字串中的一段內容
①使用語法[起始下標:結束下標:步長];
②左閉右開,不包含結束下標對應的資料;
③步長指的是隔幾個下標獲取一個字元,預設為1
二、字串及常用方法
1、字串常用方法
①格式化:首字母大寫capitalize,大寫變小寫小寫變大寫swapcase,每個單詞首字母大寫title,移除左/右/兩側空白lstrip/rstrip/strip,大小寫轉換lower/uper;[5]
②判斷內容:判斷是否是字母和數字isalnum,判斷是否是字母isalpha,判斷是否是數字isdigit,判斷是否是小寫islower,判斷是否以xx結束/開始endwith/startwith;[5]
③連線:迴圈取出所有值,用xx去連線join;
以 string 作為分隔符,將 seq 中所有的元素(的字串表示)合併為一個新的字串
④替換:replace(被替換字串,替換字串,換多少個[預設全部替換])
string.replace(str1, str2, num=string.count(str1))
把 string 中的 str1 替換成 str2,如果 num 指定,則替換不超過 num 次.
⑤查詢:檢測物件是否在字串中find(沒找到返回-1)、index;
string.find(str, beg=0, end=len(string))
檢測 str 是否包含在 string 中,如果 beg 和 end 指定範圍,則檢查是否包含在指定範圍內,如果是返回開始的索引值,否則返回-1
⑥切割:切割字串split;
string.split(str="", num=string.count(str))
以 str 為分隔符切片 string,如果 num 有指定值,則僅分隔 num+ 個子字串
⑦計數:統計物件出現次數count
string.count(str, beg=0, end=len(string))
返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數
#字串的常用方法 str = ' hello World ! ' print('首字母大寫:%s'%str.capitalize()) print('大小寫互換:%s'%str.swapcase()) print('每個單詞首字母大寫:%s'%str.title()) print('移除兩側空白:%s'%str.strip()) print('是否是數字:%s'%str.isdigit()) print('是否是字母:%s'%str.isalpha()) print('是否是字母和數字:%s'%str.isalnum()) print('是否是小寫:%s'%str.islower()) print('是否以!結束:%s'%str.endswith('!')) print('是否是字母和數字:%s'%str.isalnum()) print('連線:%s'%'-'.join(str)) print('替換:%s'%str.replace('l','t',2)) print('查詢:%s'%str.find('o')) print('切割:%s'%str.split(' ',2)) print('計數:%s'%str.count('l')) 首字母大寫: hello world ! 大小寫互換: HELLO wORLD ! 每個單詞首字母大寫: Hello World ! 移除兩側空白:hello World ! 是否是數字:False 是否是字母:False 是否是字母和數字:False 是否是小寫:False 是否以!結束:False 是否是字母和數字:False 連線: -h-e-l-l-o- -W-o-r-l-d- -!- 替換: hetto World ! 查詢:5 切割:['', 'hello', 'World ! '] 計數:3
2、切片操作
二、列表及常用方法
1、支援增刪改查、索引、切片;
2、列表中的資料可以變化,記憶體之地不會改變;
3、[,,,],列表中的資料項可以是任何型別的資料;
4、常用方法
①增:列表後面追加append、批量新增extend、指定位置插入insert;
②刪:刪除最後一個元素pop、移除左邊找到的第一個元素remove、批量刪除del;
③查:獲取指定元素索引號index;
④統計:統計元素出現的次數count、最大元素max、最小元素min、元素個數len、
⑤排序:反轉列表reverse、列表排序sort
三、元組
1、不可變序列,建立之後不能做任何修改;
2、(,,,),資料項可以是任何型別;
3、當元組中只有一個元素時,要加上逗號,否則直譯器會當作整型處理;
4、常用方法-類似列表
四、字典及常用方法
1、可以儲存任意物件;
2、以鍵值對的形式建立,不是序列型別,無序的鍵值集合,沒有下標概念;
3、鍵不能重複、值可以重複;
4、鍵只能是不可變型別,如數字、字串、元組;
5、常用方法
①增:新增元素:
②刪:del/pop刪除指定鍵、刪除元素
③改:修改元素update
④查:獲取鍵keys、獲取值values、獲取鍵值對items
⑤排序:sorted
dictA = {'name':'張三','age':'18','sex':'男','nickname':'法外狂徒'} print(dictA) print('按key排序:%s'%sorted(dictA.items(),key=lambda d:d[0])) print('按value排序:%s'%sorted(dictA.items(),key=lambda d:d[1])) {'name': '張三', 'age': '18', 'sex': '男', 'nickname': '法外狂徒'} 按key排序:[('age', '18'), ('name', '張三'), ('nickname', '法外狂徒'), ('sex', '男')] 按value排序:[('age', '18'), ('name', '張三'), ('nickname', '法外狂徒'), ('sex', '男')]
五、共有操作
1、合併:兩個物件相加,會合並兩個物件,適用於字串、列表、元組;
2、複製:物件自身按指定次數進行復制,適用於字串、列表、元組;
3、判斷元素是否存在:in,適用於字串、列表、元組、字典;