1. 程式人生 > 實用技巧 >序列,常見的數列型別使用方法介紹,元組,列表,字串轉化

序列,常見的數列型別使用方法介紹,元組,列表,字串轉化

序列(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中值的列表