我有一个长度为14的项目列表:
html_doc = [u'Crabtree Conservation Area - Number 28',
u'Conservation Area',
u'Environment Agency Flood Risk Zone 3',
u'Flood Risk Zone 3',
u'Environment Agency Flood Risk Zone 2',
u'Flood Risk Zone 2',
u'Buildings Structures And Works Exceeding 90 Metres',
u'Aerodrome Safeguarding London Heathrow 1',
u'Controlled Parking Zone T',
u'Controlled Parking Zone T',
u'Flood Zone 3 Low Residual Risk',
u'Flood Zone 3 Low Residual Risk',
u"Embankment Residents' Association",
u"Embankment Residents' Assoc."]数组中的每个元素都应该成对出现"Name":"Constraint_type“,这意味着列表中的第一个和第二个元素是相关的。
我有这个代码,我认为它不会起作用:
for i in xrange(len(html_doc)):
dict.append("Name:" html_doc[i], "Constraint_Type": html_doc[i+1])对此有什么想法吗?
发布于 2015-04-01 05:21:09
html_dict = dict(zip(html_doc[::2], html_doc[1::2]))发布于 2015-04-01 05:22:14
将iter与dict和zip配对并从每两个元素创建键/值:
it = iter(html_doc)
print(dict(zip(it,it)))
{u'Buildings Structures And Works Exceeding 90 Metres': u'Aerodrome Safeguarding London Heathrow 1', u'Flood Zone 3 Low Residual Risk': u'Flood Zone 3 Low Residual Risk', u"Embankment Residents' Association": u"Embankment Residents' Assoc.", u'Crabtree Conservation Area - Number 28': u'Conservation Area', u'Controlled Parking Zone T': u'Controlled Parking Zone T', u'Environment Agency Flood Risk Zone 3': u'Flood Risk Zone 3', u'Environment Agency Flood Risk Zone 2': u'Flood Risk Zone 2'}如果对列表进行切片,则会创建两个新列表。
发布于 2015-04-01 05:17:55
您可以在xrange中使用step参数
for i in xrange(0, len(html_doc), 2):
dict[html_doc[i]] = html_doc[i+1]如果使用step,则xrange需要start参数。如果使用step,xrange将生成[start, start+step, start+2*step ... ]
https://stackoverflow.com/questions/29378728
复制相似问题