网站要精细是什么意思,wordpress 转 帝国,世界工厂网网页版,商丘做微信网站sqwyy目录 问题解决方案讨论 问题
从某个不确定长度的迭代对象中分解出 N N N 个元素。
解决方案
*分解操作和各种函数式语言中的列表处理功能有着一定的相似性。例如#xff0c;如果有一个列表#xff0c;可以像下面这样轻松将其分解为头部和尾部。
scores [99, 97, 91, 89… 目录 问题解决方案讨论 问题
从某个不确定长度的迭代对象中分解出 N N N 个元素。
解决方案
*分解操作和各种函数式语言中的列表处理功能有着一定的相似性。例如如果有一个列表可以像下面这样轻松将其分解为头部和尾部。
scores [99, 97, 91, 89, 88.5, 81, 79]
head, *tails scores
print(head)
print(tails)讨论
对于分解未知或者任意长度的可迭代对象这种扩展分解操作可谓量身定制。比如在如下案例中*tags 作为参数部分轻松对模式和数量不定的参数进行分割。
records [(foo, 1, 2),(bar, hello),(foo, 3, 4),(chat, Hi, 2.5)
]def do_foo(x, y):print(foo, xy)def do_bar(s):print(bar, s)for tag, *args in records:if tag foo:do_foo(*args)elif tag bar:do_bar(*args)当和某些特定的字符串处理操作相结合时*式语法分解操作也非常有效比如
line nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false
uname, *fields, homedir, sh line.split(:)
print(uname)
print(homedir)
print(sh)