Python | Convertir les plages de chaînes en liste

| | | | | | |

Méthode 1 : Utilisation de sum () + split () + list comprehension + enumerate()
Combinaison des éléments ci-dessus Les fonctions peuvent être utilisées pour accomplir ces tâches. Dans ce cas, le fractionnement est effectué par trait d`union et virgule et, en conséquence, la plage, les nombres sont extraits et compilés dans une liste.


# Code Python3 pour montrer comment cela fonctionne
# Convertir des plages de chaînes en une liste
# Utiliser sum ( ) + compréhension de la liste + énumération () + fractionnement ()


# chaîne d`initialisation

test_str = "1, 4-6, 8-10, 11"


# imprimer la ligne d`origine

imprimer ( "La chaîne d`origine est :" + test_str)


# Convertir des plages de chaînes en une liste
# Utilisation de sum() + list comprehension + enumerate() + split()

res = sum ((( list ( range ( * [ int (b) + c

pour c, b in enumerate (a.split ( `-` ))]))

si ` -` in a else [ int (a)]) for un dans test_str.split ( `, ` )), [ ])


# imprimer le résultat

print ( "Liste après conversion depuis la chaîne :" + str (res))

Sortie :

La chaîne d`origine est : 1, 4-6, 8-10, 11 Liste après conversion à partir de la chaîne : [1, 4, 5, 6, 8, 9, 10, 11] 

Méthode n° 2 : Utilisation de map() + diviser () + lambda
Cette tâche peut également être effectuée à l`aide des fonctions ci-dessus. Semblable à la méthode ci-dessus. La seule différence est que nous utilisons des fonctions map () et des expressions lambda pour réduire la lisibilité complexe. Fonctionne uniquement avec Python2.


# Code Python2 pour montrer comment cela fonctionne
# Convertir les plages de chaînes en liste
# Utilisation de map () + lambda + split ()


# chaîne d`initialisation

test_str = "1, 4-6, 8-10, 11"


# impression de la ligne d`origine

print ( "La chaîne d`origine est :" + test_str)


# Convertir les plages de chaînes en liste
# Utiliser map ( ) + lambda + split ()

temp = [( lambda sub : range (sub [ 0 ], sub [ - 1 ] + 1 )) ( map ( int , ele.split ( `-` )))

pour ele dans test_str. split ( `,` )]


res = [b pour un dans temp pour b dans a]


# print result

print ( "Liste après conversion de string :" + str (res))

Quitter :

La chaîne d`origine est : 1, 4-6, 8-10, 11 Liste après conversion à partir de la chaîne : [1, 4, 5, 6, 8, 9, 10, 11] 

Python | Convertir les plages de chaînes en liste exp: Questions

Python | Convertir les plages de chaînes en liste Python functions: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method