Python 如何直接从列表范围指定变量值

Python 如何直接从列表范围指定变量值,python,Python,我正试图找到一种更好、更具Python风格的方法来处理这段代码: for i in rows: row_data = i.findAll('td') serial = row_data[0] hostname = row_data[1] owner = row_data[2] memory = row_data[3] processor = row_data[4] os = row_data[5] model = row_data[

我正试图找到一种更好、更具Python风格的方法来处理这段代码:

for i in rows:
    row_data = i.findAll('td')
    serial = row_data[0]
    hostname = row_data[1]
    owner = row_data[2]
    memory = row_data[3]
    processor = row_data[4]
    os = row_data[5]
    model = row_data[6]
    ip = row_data[7]
我正在尝试这样做:

 [serial, hostname, owner, memory, etc..] = row_data[:7]
关于如何实现这一点有什么想法吗

无论是否使用索引,我都会收到以下消息: [串行、主机名、所有者、内存、处理器、操作系统、型号、be_ip]=行数据
ValueError:要解包的值太多

您可以这样做:

>>> row_data = ['serial', 'hostname', 'ip']
>>> [serial, hostname, ip] = row_data
>>> serial
'serial'
>>> hostname
'hostname'
>>> ip
'ip'

[serial,hostname,ip]
周围的方括号是可选的。

您完全可以这样做:

>>> row_data = ['serial', 'hostname', 'ip']
>>> [serial, hostname, ip] = row_data
>>> serial
'serial'
>>> hostname
'hostname'
>>> ip
'ip'

[serial,hostname,ip]
周围的方括号是可选的。

值得一提的是,它的名称可能值得一提的是,
a,b,*tail=(1,2,3,4)
也可以正常工作。@Hyperboreus,这取决于版本吗?(它不起作用,我在2.7.6上)@wnnmaw My bad,似乎只是python3。@wnnmaw:另外,值得一提的是,它被称为,
a,b,*tail=(1,2,3,4)
也很好。@Hyperboreus,这个版本依赖吗?(它不起作用,我现在在2.7.6上)@wnnmaw我的错,似乎只是蟒蛇3。@wnnmaw:还有,看