python 新手看到一种写法 ((_, p), _) = parsed,请问是什么意思?

2015-12-16 13:51:30 +08:00
 a302800411

完整代码

def process_group(parsed):
        ((_, p), _) = parsed
        return p

说这个函数是用来去括号的,这左边到底是个啥? 正则,函数式?怎么表达式还能写左边,看不懂啊。。。。

2038 次点击
所在节点    问与答
3 条回复
c
2015-12-16 13:58:52 +08:00
解包

>>> parsed = ((1, 2), 3)
>>> ((_, p), _) = parsed
>>> p
2
linnchord
2015-12-16 14:02:59 +08:00
```
>>> a, b = (1, 2)
>>> print a, b
1 2

>>> a, b = ((3, 4), 2)
>>> print a, b
(3, 4) 2

>>> ((a, c), b) = ((3,4), 2)
>>> print a, b, c
3 2 4
```
wwxiong
2015-12-17 09:27:31 +08:00
元组赋值而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/243921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX