Désolé que je dois poser cette question si elle est un peu facile, comme peu de temps pour ce script..I've déjà écrit certains codes comme ci-dessous:Comment combiner plus d'une liste en plus d'un dicts en utilisant python?
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)
Et le résultat pour print(tags)
est ci-dessous:
['tag1']
['tag2', 'tag3', 'tag4']
['tag5', 'tag6']
Le résultat pour print(attributes)
est ci-dessous:
['attribute1', 'attribute2', 'attribute3', 'attribute4']
['attribute5', 'attribute6']
['attribute7', 'attribute8', 'attribute9']
Le résultat que je veux obtenir est dictio Naries comme:
{'tag1':['attribute1', 'attribute2', 'attribute3','attribute4'}
{'tag2':['attribute5', 'attribute6']}
{'tag3':['attribute5', 'attribute6']}
{'tag4':['attribute5', 'attribute6']}
{'tag5':['attribute7', 'attribute8', 'attribute9']}
{'tag6':['attribute7', 'attribute8', 'attribute9']}
Je pensais que de cette façon, je peux manipuler les données facilement que je peux extraire les données et les écrire dans d'autres formes. Ci-dessous le code que j'ai essayé:
for x in tags:
dict = zip(tags, attributes)
print (list(dict))
Mais la sortie ne semble pas être correcte. Pourriez-vous nous aider à y jeter un coup d'œil et voir comment résoudre ce problème ... Merci beaucoup!
Les balises et les attributs * par ligne * sont-ils garantis uniques? En d'autres termes, '' attribute1 '' ne se produira-t-il que sur line1? –
poster votre contenu 'localNames' – RomanPerekhrest
C'est une bonne question. Je pense que les balises devraient être uniques, mais les attributs peuvent ne pas l'être. – Penny