将列表解压缩到变量

Art*_*rti 15 python list

我有一个清单:

row = ["Title", "url", 33, "title2", "keyword"]
Run Code Online (Sandbox Code Playgroud)

是否有更多pythonic方式来解压缩这些值,如:

title, url, price, title2, keyword = row[0], row[1], row[2], row[3], row[4]
Run Code Online (Sandbox Code Playgroud)

bru*_*ers 30

像这样的东西?

>>> row = ["Title", "url", 33, "title2", "keyword"]
>>> title, url, price, title2, keyword = row
Run Code Online (Sandbox Code Playgroud)

此外,对于记录,请注意您的示例将失败并出现IndexError(Python的列表从零开始).

编辑:上面的说明是在OP示例修复之前编写的...


Ale*_*llo 15

此外,如果您只需要几个第一个变量,在 Python 3 中您可以使用:

row = ["Title", "url", 33, "title2", "keyword"]
title, url, *_ = row
Run Code Online (Sandbox Code Playgroud)

这是在不使用显式索引的情况下提取少量第一个值的好方法

  • @Madness `*_, last = row` 或 `last = row[-1]` 怎么样? (2认同)

App*_*ish 6

事实上,当变量用逗号分隔时,python会自动解包容器.这会将每个元素分配给row左侧的变量:

title, url, price, title2, keyword = row
Run Code Online (Sandbox Code Playgroud)

在此作业之后,title具有"标题" price的值,具有值33等.