J'ai une chaîne Python dans le format: existe-t-il un moyen de le convertir en dictionnaire qui ressemble à p> Lorsque chaque entrée est (clé, valeur) paires de chaîne. J'ai essayé de fractionnement de la chaîne à la liste par p> puis supprimant manuellement : code>, vérifiant chaque nom de balise, ajoutant à un dictionnaire. L'inconvénient de cette méthode est: cette méthode est méchante, je dois supprimer manuellement : code> pour chaque paire et s'il existe une "valeur" multi-word dans la chaîne (par exemple, bla bla Code> pour Description code>), chaque mot sera une entrée distincte dans une liste qui n'est pas souhaitable. Y a-t-il une manière pythonique d'obtenir le dictionnaire (en utilisant Python 2.7)? P> p>
3 Réponses :
sans re code>:
\b # Start at a word boundary (\w+) # Match and capture a single word (1+ alnum characters) \s*:\s* # Match a colon, optionally surrounded by whitespace ([^:]*) # Match any number of non-colon characters (?= # Make sure that we stop when the following can be matched: \s+\w+\s*: # the next dictionary key | # or $ # the end of the string ) # End of lookahead
Autre variation du programme aswini qui affiche le dictionnaire dans la commande originale sortie p> [(nom "," srek "), (' Âge ',' 24 '), ("Description", "Blah Blah"), ("Cat", "Dog"), ("Stack",' Overflow ')] Code> P> P> P> P >
Vous ... supprimé la question précédente juste pour le demander à nouveau ...
Ouais .. il y avait des erreurs dans cette question
(Off-sujets, mais) Veuillez ne pas utiliser
str code> comme nom de variable. C'est le nom du Type de chaîne intégrée .@Shawnchin merci .. Je garderai ça à l'esprit ..