J'ai cherché sur ce site des exemples similaires au mien, mais je n'ai trouvé aucune réponse.
Le fichier que je suis en train d'analyser est un fichier simple avec des paires clé-valeur séparées par un deux-points.
one:two
three:four
five:six
seven:eight
nine:ten
sample:demo
Je pensais qu'il devrait y avoir une solution simple en utilisant la compréhension de dictionnaire.
Ma première tentative était
fin = open('f00.txt', 'r')
L = {kv[0]:kv[1] for line in fin for kv in line.strip().split(':')}
cela a produit
{'o': 'n', 't': 'e', 'f': 'i', 's': 'a', 'e': 'i', 'n': 'i', 'd': 'e'}
La seule façon dont j'ai pu obtenir des résultats était la suivante
L = {line.strip().split(':')[0]:line.strip().split(':')[1] for line in fin}
Mais cela nécessitait d'appeler split
deux fois (indexé par 0 et 1)
Une autre façon dont j'ai pu obtenir des résultats était :
d = {}
for line in fin:
kv = line.strip().split(':')
d[kv[0]] = kv[1]
{'one': 'two', 'three': 'four', 'five': 'six', 'seven': 'eight', 'nine': 'ten', 'sample': 'demo'}
Je me demandais juste s'il y avait une compréhension simple pour ce qui est une tâche triviale.
Merci pour toute contribution que vous pourriez apporter.