从任意长的可迭代对象中分解元素(*式方法)
Posted iqunqunqun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从任意长的可迭代对象中分解元素(*式方法)相关的知识,希望对你有一定的参考价值。
1、假设需要从长度为2N的可迭代对象中,分解出N个的元素
案例:
1 def drop_first_last(grades): 2 first,*middle,last = grades 3 return avg(middle)
2、*式方法迭代一个变长的元组尤其有用
1 records = [(‘foo‘,1,2),(‘bar‘,‘hello‘),(‘foo‘,3,4)] 2 def do_foo(x,y): 3 print(‘foo‘,x,y) 4 5 def do_bar(s): 6 print(‘bar‘,s) 7 8 for tag,*args in records: 9 if tag == ‘foo‘: 10 do_foo(*args) 11 elif tag == ‘bar‘: 12 do_bar(*args) 13
1 foo 1 2 2 bar hello 3 foo 3 4
这里就很快速的将records分解出来,不需要什么复杂的操作
以上是关于从任意长的可迭代对象中分解元素(*式方法)的主要内容,如果未能解决你的问题,请参考以下文章
python学习指南—Python 进阶(Python Cookbook)