序列,常見的數列型別使用方法介紹,元組,列表,字串轉化
序列(sequence)
定義:一組有順序的元素組合,可以通過索引訪問元素,一個索引為0,最後一個為-1(正向)
常見的數列型別
-
列表
-
元組
-
範圍
使用方法介紹
-
列表(list)
-
定義:str = “hello”
-
取第一個:print(list[0])
-
取最後一個:print(list[-1])/print(len(str)-1)
-
長度:print(len(list))
-
切片:print(list【0:3】)
-
相加:必須是列表+列表
-
查詢:index(3,0,5) # 找到3的位置從索引0開始到索引4,找不到報錯
-
統計出現次數(count)
-
推導式: list =[1,2,3 ] list2 =[i+3 for i in list ] print(list2) # 4,5,6
-
替換:list = [1,3,2]
-
list[0] = 10
-
list[::] = 4,6,9 #替換所有值
-
in 和 not in:是否包含
-
重複:*次數
-
轉化:list(“要轉化的”)
-
增加:append(增加一個值) extend(增加一個列表) insert(i元素)指定位置增加
-
刪除:pop(刪除並返回最後一個) remove(移除第一次出現的)
-
元組(tuple)
不允許刪除元組裡的元素= 元組不可變
元組可以巢狀(如:x= str[2][1][0][1])
-
sale=collctions.namedtuple(“sale”,“productid customerid date price”) 逗號前的為元組型別的名稱,逗號後的引數為字串,用空格分隔,每個名稱都代表該元組資料型別的一項,資料項如:x=sale(121,“2017-03-22”,1,10.99);呼叫某一項則可用x.price來實現,此處結果為10.99;
-
對於格式化替換,可用namedtuple._asdict()函式實現直接用名稱替換索引,如:"{productid}{price}".format(x._asdict())。此方法用於多層元組較好,name即為最外層元組的name.
-
單個元素的元組需要加上逗號。
字串,列表,元組轉化
- 字串直接可以轉化為列表和元組
- 列表和元組可以在相互轉化
- range(開始,結束,步長):不可變的序列
- 集合(set):容器中的物件是不能重複的且無序的
- 可變集合,set
- 不可變集合:frozenset 裡面的元素必須是一個雜湊物件(雜湊,物件的唯一編碼)
- 建立:s1= {1,2,3,4,3}#{1,2,3,4}
- 訪問:for迴圈遍歷集合 for i in s1
常用方法
- D.clear() #移除D中的所有項
- D.copy() #返回D的副本
- D.fromkeys(seq[,val]) #返回從seq中獲得的鍵和被設定為val的值的字典。可做類方法呼叫
- D.get(key[,default]) #如果D[key]存在,將其返回;否則返回給定的預設值None
- D.has_key(key) #檢查D是否有給定鍵key
- D.items() #返回表示D項的(鍵,值)對列表
- D.iteritems() #從D.items()返回的(鍵,值)對中返回一個可迭代的物件
- D.iterkeys() #從D的鍵中返回一個可迭代物件
- D.itervalues() #從D的值中返回一個可迭代物件
- D.keys() #返回D鍵的列表
- D.pop(key[,d]) #移除並且返回對應給定鍵key或給定的預設值D的值
- D.popitem() #從D中移除任意一項,並將其作為(鍵,值)對返回
- D.setdefault(key[,default]) #如果D[key]存在則將其返回;否則返回預設值None
- D.update(other) #將other中的每一項加入到D中。
- D.values() #返回D中值的列表