【发布时间】:2017-09-26 15:54:09
【问题描述】:
很抱歉,我不得不问这个问题是否是一个相当简单的问题,因为这个脚本的时间有限..我已经写了一些代码,如下所示:
localNames = re.findall(r"<\*\[local-name\(\)='.*?'.*?\/@\*\[name\(\)='.*?'.*?'\]", str(nontransTagsContent[0]))
for i in localNames:
tags = re.findall(r"local-name\(\)='(.*?)'", i)
attributes = re.findall(r"name\(\)='(.*?)'", i)
print(tags) 的结果如下:
['tag1']
['tag2', 'tag3', 'tag4']
['tag5', 'tag6']
print(attributes) 的结果如下:
['attribute1', 'attribute2', 'attribute3', 'attribute4']
['attribute5', 'attribute6']
['attribute7', 'attribute8', 'attribute9']
我想要得到的结果是这样的字典:
{'tag1':['attribute1', 'attribute2', 'attribute3','attribute4'}
{'tag2':['attribute5', 'attribute6']}
{'tag3':['attribute5', 'attribute6']}
{'tag4':['attribute5', 'attribute6']}
{'tag5':['attribute7', 'attribute8', 'attribute9']}
{'tag6':['attribute7', 'attribute8', 'attribute9']}
我想通过这种方式,我可以轻松地操作数据,因为我可以提取数据并将它们写入其他形式。下面是我试过的代码:
for x in tags:
dict = zip(tags, attributes)
print (list(dict))
但输出似乎不正确。你能帮忙看看它,看看如何解决这个问题...非常感谢!
【问题讨论】:
-
每行的标签和属性是否保证唯一?换句话说,
'attribute1'只会出现在 line1 吗? -
发布您的
localNames内容 -
这是个好问题。我认为标签应该是唯一的,但属性可能不是。
-
嗨@RomanPerekhrest 我添加了代码
标签: python dictionary attributes tags