python之list、tuple、dict、set常用函式
阿新 • • 發佈:2018-12-16
#可變型別
###目標:
* 理解列表、元組、字典的性質
* 會使用可變型別常見函式
* 會使用range函式
* 會使用for進行遍歷
* 會使用切片
####基本語法
-
列表list:有序可變的儲存模型
list = []list.insert(idx,data):在列表的指定位置插入資料,如果索引位置超過列表資料總量,資料將插入到列表末尾 list.extend(model):在列表的末尾新增引數物件中的所有資料 list.remove(data):從列表中刪除指定的資料,如果資料不存在將報錯 list.pop(idx):從列表中獲取並刪除指定索引位置上的資料,如果索引值超過列表資料總量將報錯 list.clear():清空列表中的資料 list.index(data):查詢列表中指定資料對應的索引,如果資料不存在將報錯 list.count(data):統計列表中指定資料出現的數量
-
元組tuple:有序不可變的儲存模型
tuple = ()tuple.index(data):查詢元組中指定資料對應的索引,如果資料不存在將報錯 tuple.count(data):統計元組中指定資料出現的數量
-
集合set:無序不重複資料的儲存模型
set = {}set.add(data):在集合中新增資料 set.remove(data):從集合中刪除指定的資料,如果資料不存在將報錯 set.pop():從集合中獲取並刪除第一個資料 set.clear():清空集合中的資料
-
字典dict:“鍵值對結構”儲存資料的儲存模型,鍵唯一
dict = {}dict.pop(key):從字典中刪除指定鍵key對應的鍵值對,如果鍵key不存在將報錯 dict.popitem():從字典中刪除指定鍵key對應的鍵值對,如果鍵key不存在將報錯 dict.clear():清空字典中的資料 dict.setdefault(key,value):新增新的鍵值對,如果存在對應的鍵,則忽略該操作 dict.update(dict):使用新字典中的資料對原始字典資料進行更新 dict.get(key):根據鍵key查詢字典中對應的值,如果鍵key不存在將返回None dict.keys():獲取字典中所有的鍵key組成的列表資料 dict.values():獲取字典中所有的值value組成的列表資料 dict.items():獲取字典中所有的鍵值對列表資料
-
切片:獲取列表、元組或字串中的區域性資料
容器物件[開始索引:結束索引:步長] # 特殊格式: list1[:5:1] # 預設開始索引為0 list1[0::1] # 預設結束索引為資料總量 list1[0:5:] # 每次遞增索引數為1 list1[5:0:-1] # 反向操作/反向步長操作,需要開始索引、結束索引逆序輸入 list1[:5:] # 獲取索引5之前的資料(不含5) list1[4::] # 獲取索引4之後的資料(含4)
####其他語法格式:
- for迴圈:
for 變數名 in 列表: ____變數相關操作
- for…else:
for 變數名 in 列表: 變數相關操作 else: 迴圈正常執行結束後執行的操作 # 如果for迴圈中執行了break語句,則else中的程式碼將不執行 # while迴圈同樣具有while…else語法格式
- range:
格式1:range(m) 生成 0 到 m-1 的整數 格式2:range(m,n) 生成 m 到 n-1 的整數 格式3:range(m,n,s) 生成 m 到 n-1 的整數,整數間隔為s
- 公共方法:
len(model):獲取容器模型中的資料總量 max(model):獲取容器模型中的最大值,對於字典獲取字典的鍵key的最大值 min(model):獲取容器模型中的最小值,對於字典獲取字典的鍵key的最小值
- 通用運算子
+ : 將兩個容器資料合併放入第一個容器,list1 + list2 * : 將容器資料複製n次放入容器中,list1 * n in: 判斷容器中是否包含資料,data in list1 not in: 判斷容器中是否不包含資料,data not in list1 >、>=、==、<=、<: 比較兩個容器中的資料關係,list1 <= list2