python 學習彙總24:迭代解包Iterable Unpacking( tcy)
阿新 • • 發佈:2018-11-19
迭代解包Iterable Unpacking =================================================================== # 1.例項1 *a, = range(5); print(a) # [0, 1, 2, 3, 4] [*a] = range(5); print(a) # [0, 1, 2, 3, 4] *a, b, c = range(5); print(a,b,c) # [0, 1, 2] 3 4 a, *b, c = range(5); print(a,b,c) # 0 [1, 2, 3] 4 (a, b, *c) = range(5) print(a,b,c) # 0 1 [2, 3, 4] seq=range(5) a, b, c = seq[0], list(seq[1:-1]), seq[-1] print(a,b,c) # 0 [1, 2, 3] 4 a, *b, c = seq print(a,b,c) # 0 [1, 2, 3] 4 ================================================================ # 例項2: import os v, filename = os.path.split('/home/test/path/filename.pdf') # '/home/test/path', 'filename.pdf' for a, *b in [(1, 2, 3), (4, 5, 6, 7)]: # a=(1, 2, 3);b=[(4, 5, 6, 7)] print(b) # [2, 3] # [5, 6, 7] ================================================================ 2.總結: 1) 星號表示式作為賦值操作物件必須出現在元組或者列表中 2) 強制表示式都要被賦值 3) 星號表示式可以為空列表 ================================================================