序列解压

python对可迭代对象可按要求解压获得对应的值。

 1 #可迭代对象解压
 2 a, b, c = 'hel'
 3 print(a, b, c)
 4 
 5 #当解压对象和赋值对象数量不匹配是报错
 6 try:
 7     a, b = 'hel'
 8 except ValueError as e:
 9     print('在第{}行产生异常,解压的数量不匹配'.format(e.__traceback__.tb_lineno))
10 
11 
12 #使用*号解压任意个数可迭代对象
13 a,*b = 'hello'
14 print(a, b)
15 
16 #想过滤一些解压后不需要的元素可以使用_变量接收
17 a, *_, b = 'abdcef'
18 print(a, b)
19 
20 #*号的递归技巧  ==>  python不适合做递归,仅供娱乐,认真你就输了
21 items = [i for i in range(1, 101)]
22 def sum_func(items):
23     head, *tail = items
24     return head + sum_func(tail) if tail else head
25 
26 print(sum_func(items))

猜你喜欢

转载自www.cnblogs.com/rons/p/9185234.html
今日推荐