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