仅将一些元组元素展开到变量列表

时间:2013-11-20 13:58:21

标签: python iterable-unpacking

说我有以下代码:

from urlparse import urlparse
parsed_url = urlparse(url)
scheme, netloc, path = parsed_url[0], parsed_url[1], parsed_url[2]

是否有更优雅或简短的方式来分配这三个变量?写parsed_url三次看起来有些混乱(我期待的不是将parsed_url重命名为更短的东西。)

2 个答案:

答案 0 :(得分:7)

你可以将元组切成两半:

scheme, netloc, path = parsed_url[:3]

或者,为了明确表示有六个值并忽略其中三个,您可以指定一个名为_的虚拟变量:

scheme, netloc, path, _, _, _ = parsed_url

答案 1 :(得分:2)

parsed_url[:3]将创建一个完全由想要的部分组成的子组。

所以

scheme, netloc, path = parsed_url[:3]

会做你需要的。