filter能夠進行過濾,和map的使用方式同樣。python
在Python中,若是函數中帶有yield,則表示該函數是一個生成器generator。當運行到yield時,就返回yield後面的值。而後在下一次繼續從yield下一個語句繼續執行。app
例如:楊輝三角函數
def triangles(): L = [1] while 1: yield L L = [0] + L + [0] L = [L[i] + L[i + 1] for i in range(len(L) - 1)] t = triangles() while 1: print(next(t)) 結果以下: # [1] # [1, 1] # [1, 2, 1] # [1, 3, 3, 1] # [1, 4, 6, 4, 1] # [1, 5, 10, 10, 5, 1] # [1, 6, 15, 20, 15, 6, 1] # [1, 7, 21, 35, 35, 21, 7, 1] # [1, 8, 28, 56, 70, 56, 28, 8, 1] # [1, 9, 36, 84, 126, 126, 84, 36, 9, 1] ...
排序函數。這個函數能夠對list進行排序,在元素是字符串時候或者想要自定義時候能夠傳入排序的函數。code
sorted(list, key = method)對象
sortedList = sorted([1, -4, 5, 44, -443, 45, 78]) print(sortedList) sortedList = sorted([1, -4, 5, 44, -443, 45, 78], key=abs) print(sortedList) # reverse 對排序進行反轉 sortedList = sorted([1, -4, 5, 44, -443, 45, 78], key=abs, reverse=True) print(sortedList)
對tuple的排序排序
# 假設咱們用一組tuple表示學生名字和成績: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] # 按名字排序 def by_name(t): return t[0] # 分數排序 def by_score(t): return t[1] print(sorted(L, key=by_name)) print(sorted(L, key=by_score))
listrem
list是一個有序的集合,能夠隨意的增長和刪除。先定義:L = [2,4,5,45,7]字符串
(1)、增長到末尾 :get
L.append(666) 或者 L = L + [666] 結果: [2,4,5,45,7,666]
(2)、插入到指定位置:generator
L.insert(0, 777) # 把777插入到第一個位置 或者 L = [777] + L 結果: [777, 2, 4, 5, 45, 7]
(3)、取值:
n = L[2] # 取第幾個元素 n = L[-1] # 或者從後往前取,取倒數第一個(-1),倒數第二個(-2)
(4)、刪除:
L.pop(i) # 刪除第i個元素 L.pop() # 沒有序號,則默認刪除最後一個元素
(5)、替換:
# 直接設置要替換的值 L[i] = 888
tuple
tuple是不可變的list。
T = () # 定義一個空tuple T = (4,) # 定義只有一個元素的tuple,須要在()裏面加一個逗號「,」,否則會被當成數字。
(1)、取值:和list取值同樣
t = T[1] # 取第二個元素
(2)、替換:若是被替換的值是對象,該對象裏面的值能夠修改,其餘的不能修改。
set
set是一種無序且不重複的相似list 的集合。
S = {1,3,4,5,7} # 定義一個set
(1)、增長:
S.add(666) # 添加一個元素
(2)、刪除
S.remove(666) # 刪除666這個元素
dict dict對應Java中的map。在Python中是字典。
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
(1)、增長/替換:
d['zfskkk'] = 98 # 增長一對key-value,若是key已經存在,則會覆蓋先前的值。
(2)、取值:
value = d['zfskkk'] # 取值。若是該key不存在,則會報錯。 value = d.get('zfskkk', -1) # 若是key不存在,返回None。若是有默認值,則返回默認值。
(3)、刪除:
d.pop('zfskkk') # 若是key不存在則報錯。
(4)、判斷key是否存在
'zfskkk' in d