標籤:
資料結構:
列表的元素可變,用[] or list()建立。
元祖的元素不可變,用() or tuple()建立。
集合的元素不可重複,用{} or set()建立。
字典的存放K-V,用dict() or {} 建立。
del: 按照索引 刪除資料結構元素 or 變數
===================================================
list:
list.append(x) === a[len(a):]=[x]
list.extend(L) === a[len(a):]=L
list.insert(i,x) #指定位置插入
list.remove(x)
list.pop([i])
list.index(x)
可以把列表當作堆棧使用
使用collections.deque實現隊列
1 from collections import deque2 queue = deque(["a","b","c"])3 queue.append("d")4 queue.popleft()
View Code
===================================================
函數式編程工具:filter() , map() , reduce()
filter(bool_func, sequence)返回一個sequence, 包括了給定序列中所有調用bool_func(item)後傳回值為true的元素。(如果可能的話,會返回相同的類型)。如果該 序列 (sequence) 是一個 string (字串)或者 tuple (元組),傳回值必定是同一類型,否則,它總是list。例如,以下程式可以計算部分素數:
1 def f(x):return x%2!=0 and x%3!=02 filter(f,range(2,25))
map(function, seq1,[seq2...]) 為每一個元素依次調用 function(item) 並將傳回值組成一個列表返回。例如,以下程式計算立方:
1 def cube(x):return x*x*x2 map(cube,range(1,10))
1 seq = range(8)2 def add(x,y):return x+y3 map(add,seq,seq)4 #ans [0,2,4,6,8,10,12,14]
reduce(function, sequence) 返回一個單值,它是這樣構造的:首先以序列的前兩個元素調用函數 function,再以傳回值和第三個參數調用,依次執行下去。例如,以下程式計算 1 到 10 的整數之和:
1 def add(x,y):return x+y2 reduce(add,range(1,11))
===================================================
Python快速入門(3)