#1 Le 02/07/2017, à 22:27
- paul18
[Résolu] re.finditer -> dans une variable
Bonsoir,
Dans mon exemple, je n'ai manifestement pas compris :
- quel est ici le type du résultat donner par re.finditer (liste ?)
- et comment l'enregistrer dans une variable, le '=' ne fonctionnant pas
Merci par avance
Paul
ligne = 'je cherche à "enregistrer" la position des "double-quotes" '
for match in re.finditer('"',ligne):
print match.span()
Dernière modification par paul18 (Le 03/07/2017, à 14:34)
Hors ligne
#2 Le 03/07/2017, à 05:03
- pingouinux
Re : [Résolu] re.finditer -> dans une variable
Bonjour,
Ceci répondra sans doute à tes questions :
import re
ligne = 'je cherche à "enregistrer" la position des "double-quotes" '
resul=re.finditer('"',ligne)
print(resul,type(resul))
for match in resul: print(match.span())
qui donne ce résultat :
<callable_iterator object at 0x7f7a84cf9a90> <class 'callable_iterator'>
(13, 14)
(25, 26)
(43, 44)
(57, 58)
Hors ligne
#3 Le 03/07/2017, à 14:36
- paul18
Re : [Résolu] re.finditer -> dans une variable
Bonjour,
Merci pour ce retour ; j'ai trouvé une solution qui n'est peut-être pas la plus élégante, mais j'enregistre le résultat dans une variable en utilisant 'append' dans la boucle
Paul
Hors ligne
#4 Le 03/07/2017, à 16:07
- pingouinux
Re : [Résolu] re.finditer -> dans une variable
Tu peux éventuellement montrer ce que tu as fait.
Hors ligne
#5 Le 03/07/2017, à 18:14
- paul18
Re : [Résolu] re.finditer -> dans une variable
voilà
toto = []
ligne = 'je cherche à "enregistrer" la position des "double-quotes" '
resul=re.finditer('"',ligne)
for match in resul:
print(match.span())
toto.append(match.span())
Hors ligne
#6 Le 03/07/2017, à 19:26
- pingouinux
Re : [Résolu] re.finditer -> dans une variable
Ce n'est pas plus simple, mais tu peux faire directement ceci, qui donne le même toto que toi en #5 :
toto=list(map(lambda x:x.span(),re.finditer('"',ligne)))
Tu peux aussi remplacer list par tuple.
Hors ligne