如何直接从列表范围分配变量值

时间:2014-02-11 19:43:29

标签: python

我正试图找到一种更好,更pythonic的方式来代替这段代码:

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]

关于如何实现这一目标的任何想法?

有或没有索引我收到此消息:     [serial,hostname,owner,memory,processor,os,model,be_ip] = row_data     ValueError:要解压缩的值太多

1 个答案:

答案 0 :(得分:6)

你可以做到这一点:

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

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