Python | Converti intervalli di stringhe in elenco

| | | | | | |

Metodo n. 1: utilizzo di sum() + split() + comprensione dell`elenco + enumerate()
Combinazione di quanto sopra le funzioni possono essere utilizzate per eseguire questi compiti. In questo caso la suddivisione viene eseguita per trattino e virgola e, di conseguenza, l`intervallo, i numeri vengono estratti e compilati in una lista.


# Codice Python3 per dimostrare come funziona
# Converti intervalli di stringhe in un elenco
# Usa sum ( ) + comprensione elenco + enumerare () + dividere ()


# stringa di inizializzazione

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


# print original line

print ( "La stringa originale è:" + test_str)


# Converti intervalli di stringhe in un elenco
# Utilizzo di sum() + comprensione dell`elenco + enumerate() + split()

res = sum ((( elenco ( intervallo ( * [ int (b) + c

for c, b in enumera (a.split ( `-` ))]))

if ` -` in a else [ int (a)]) for a in test_str.split ( `, ` )), [ ])


# stampa risultato

print ( "Elenco dopo la conversione da stringa:" + str (res))

Output:

La stringa originale è: 1, 4-6, 8-10, 11 Elenco dopo la conversione da stringa: [1, 4, 5, 6, 8, 9, 10, 11] 

Metodo n. 2: utilizzo di map() + diviso () + lambda
Questa attività può essere eseguita anche utilizzando le funzioni di cui sopra. Simile al metodo sopra. L`unica differenza è che utilizziamo le funzioni map() e le espressioni lambda per ridurre la leggibilità complessa. Funziona solo con Python2.


# Codice Python2 per dimostrare come funziona
# Converti intervalli di stringhe in elenchi
# Utilizzo di map() + lambda + split()


# stringa di inizializzazione

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


# stampa la riga originale

print ( "La stringa originale è:" + test_str)


# Converti intervalli di stringhe in elenchi
# Usando map ( ) + lambda + split ()

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

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


res = [b for a in temp per b in a]


# stampa risultato

stampa ( "Elenco dopo la conversione da stringa:" + str (res))

Esci:

La stringa originale è: 1, 4-6, 8-10, 11 Elenco dopo la conversione da stringa: [1, 4, 5, 6, 8, 9, 10, 11] 

Python | Converti intervalli di stringhe in elenco exp: Questions

Python | Converti intervalli di stringhe in elenco 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