""" 元组拆分 或者更具体地称为:可迭代序列拆分""" # 可以用*args 表示将传入的可迭代对象拆分作为函数参数 from typing import List, Any, Union def test(*args): li = [] for i in args: li.append(i if i >= 5 else []) return list(filter(None, li)) # 用None代替下: # return list(filter(lambda x:x if x else None, li)) if __name__ == '__main__': # 可以是变量赋值 a, b, c = (1, 2, 3) # 也可以用*args形式获取 # 此时*d会获取[0, 1,2] e=3 f=4 *d, e, f = range(5) #*d 的位置可以随意放置 g, *h, i = range(5,10) print('a: %r--b:%r--c:%r'%(a, b, c)) print('d: %r--e:%r--f:%r' % (d, e, f)) print('g: %r--h:%r--i:%r' % (g, h, i)) print("----------------------") li = (1, 3, 5, 7, 9) # 将li拆分后传入test作为参数 print(test(*li)) ======================================================================= a: 1--b:2--c:3 d: [0, 1, 2]--e:3--f:4 g: 5--h:[6, 7, 8]--i:9 ---------------------- [5, 7, 9]