我想做一个类似于模式匹配的函数来获取前两个元素,然后数组的其余部分返回值.
例如,假设perms(x)返回值列表,我想这样做:
seq=perms(x)
a = seq[0]
b = seq[1]
rest = seq[2:]
Run Code Online (Sandbox Code Playgroud)
我当然可以缩短到:
[a,b] = seq[0:2]
rest = seq[2:]
Run Code Online (Sandbox Code Playgroud)
我可以使用一些符号来做到这一点吗?
[a,b,more] = perms(x)
Run Code Online (Sandbox Code Playgroud)
或概念上:
[a,b,more..] = perms(x)
Run Code Online (Sandbox Code Playgroud)
PROLOG和函数式语言确实列出了这样的分解!
你可以在Python 3中这样做:
(a, b, *rest) = seq
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅扩展的可迭代解包PEP.
| 归档时间: |
|
| 查看次数: |
842 次 |
| 最近记录: |