1. 程式人生 > >python之list、tuple、dict、set常用函式

python之list、tuple、dict、set常用函式

#可變型別

###目標:
* 理解列表、元組、字典的性質
* 會使用可變型別常見函式
* 會使用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