Python | Convertir rangos de cadenas a lista

| | | | | | |

Método # 1: Usar sum () + split () + comprensión de lista + enumerate()
Combinación de lo anterior Las funciones se pueden utilizar para realizar estas tareas. En este caso, la división se realiza mediante guión y coma y, en consecuencia, el rango, los números se extraen y compilan en una lista.


# Código de Python3 para demostrar cómo funciona
# Convertir rangos de cadenas en una lista
# Usar sum ( ) + comprensión de lista + enumerar () + dividir ()


# cadena de inicialización

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


# imprime la línea original

imprime ( "La cadena original es:" + test_str)


# Convertir rangos de cadenas en una lista
# Usar suma () + comprensión de lista + enumeración () + división ()

res < código clase = "palabra clave"> = sum ((( lista < /código> ( rango ( * [ int (b) + c

para c, b en enumerar (a. dividir ( `-` ))]))

< /código> si ` -` en a más [ int (a)]) for a en test_str.split ( `, ` )), [ ])


# imprimir resultado

imprimir ( "Lista después de la conversión de cadena:" + str (res))

Salida:

La cadena original es: 1, 4-6, 8-10, 11 Lista después de la conversión de cadena: [1, 4, 5, 6, 8, 9, 10, 11] 

Método # 2: Usando mapa () + separar () + lambda
Esta tarea también se puede realizar utilizando las funciones anteriores. Similar al método anterior. La única diferencia es que usamos funciones de mapa () y expresiones lambda para reducir la legibilidad compleja. Solo funciona con Python2.


# Código de Python2 para demostrar cómo funciona
# Convertir rangos de cadenas en una lista
# Usando mapa () + lambda + split ()


# cadena de inicialización

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


# imprimiendo la línea original

print ( "La cadena original es:" + test_str)


# Convertir rangos de cadenas a lista
# Usar mapa ( ) + lambda + split ()

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

for ele in test_str. dividir ( `,` )]


res = [b for < clase de código = "simple"> a en temp para b en a]


# imprimir resultado

print < clase de código = "simple" > ( "Lista después de la conversión de cadena:" + str (res))

Salir:

La cadena original es: 1, 4-6, 8-10, 11 Lista después de la conversión de cadena: [1, 4, 5, 6, 8, 9, 10, 11] 

Shop

Learn programming in R: courses

$

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

$

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