Le code ressemble à ceci
['ID', '2020', 'Sugar', '3']
Et la sortie est
['ID:2020', 'Sugar:3']
Maintenant, je veux effectuer à nouveau le fractionnement de sorte que la sortie ressemble à:
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
x = str(txt.split(","))
5 Réponses :
vous pouvez utiliser une liste pour obtenir d'abord la clé et les valeurs, puis imprimer la liste
Sans un exemple, cela ne dit rien d'utile
Une autre solution consiste à utiliser regex
>>> import re
>>> re.split(",|:", txt)
['ID', '2020', 'Sugar', '3', 'cost_sugar', '30', 'ID', '2021', 'Sugar', '5', 'cost_sugar', '50']
Le module re de Python a une fonctionnalité intéressante
import re
re.split(':|,',txt)
J'aime les réponses fournies par les gens en utilisant le module re . Voici une autre façon de faire cela:
txt.replace(":", ",").split(",")
Essentiellement, vous traitez ":" comme un "," , alors pourquoi ne pas d'abord remplacer le ":" par un "," puis séparer?
Vous pouvez utiliser soit le code ci-dessous lié à votre projet, soit c'est un bon exemple si vous apprenez la première fois. Le premier utilise la liste. Le second utilise re .
import re
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
returnlist = re.split(':|,', txt)
print(returnlist)
OU
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
returnlist = []
for x in list(txt.split(",")):
for fullkey in list(x.split(":")):
returnlist.append(fullkey)
print(returnlist)
Veuillez publier un MCVE. Le code que vous montrez ici ne fait pas ce que vous dites.
veuillez fournir un exemple reproductible minimal