Comment puis-je diviser une chaîne dans une liste?

Si j'ai cette chaîne:

2+24*48/32

qu'est-ce que l'approche la plus efficace pour la création de cette liste:

['2', '+', '24', '*', '48', '/', '32']

  • Vous souhaitez découper une chaîne en une liste, mais vous ne voulez pas l'utiliser .split (), car elle retourne une liste? Vous êtes contredire vous-même. Si vous ne voulez pas d'une liste, alors qu'est-ce que vous voulez?
  • Je pense que Jibmo signifie que la fonction split() ne vous permet de spécifier un délimiteur, donc il aurait du l'appeler une fois pour le '+', une fois pour '-', une fois pour '/', etc...
  • désolé pour la mauvaise explication, ce que je voulais dire, c'est que la répartition sera de retour une liste, ce qui signifie que pour la fraction de seconde, j'ai maintenant besoin d'itérer sur des chaînes de caractères dans une liste. syntaxly exemple incorrect.. string = "2+2-2" liste = string.split(+) renvoie ['2', '+', '2-2'] maintenant, j'ai besoin d'itérer sur 3 cordes
  • Vous devez mentionner que vous travaillez sur un programme qui doit être en mesure d'évaluer ces chaînes de caractères comme des expressions arithmétiques. Jerub réponse du couvre, mais c'est parce qu'il est un mindreader.
  • Pourquoi ne pas simplement utiliser les SymPy? Il devrait faire ce que vous voulez réaliser.
  • Il n'est pas clair si vous travaillez avec des flotteurs/décimales ou en entiers ? Je veux dire, si le '.' (ou ',' pour certains pays) soit divisé trop ?

InformationsquelleAutor | 2008-09-17