Python | Converter intervalos de string em lista

| | | | | | |

Método nº 1: usando sum () + split () + compreensão de lista + enumerate()
Combinação do acima funções podem ser usadas para realizar essas tarefas. Neste caso, a divisão é realizada por hífen e vírgula e, consequentemente, o intervalo, os números são extraídos e compilados em uma lista.


# Código Python3 para demonstrar como funciona
# Converte intervalos de strings em uma lista
# Usando sum ( ) + compreensão de lista + enumerar () + dividir ()


# string de inicialização

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


# imprime a linha original

print ( "A string original é:" + test_str)


# Converte intervalos de strings em uma lista
# Usando sum () + compreensão de lista + enumerate () + split ()

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

para c, b em enumerate (a.split ( `-` ))]))

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


# imprime resultado

print ( "Lista após conversão de string:" + str (res))

Saída:

A string original é: 1, 4-6, 8-10, 11 Lista após a conversão da string: [1, 4, 5, 6, 8, 9, 10, 11] 

Método nº 2: usando map() + dividir () + lambda
Esta tarefa também pode ser feita usando as funções acima. Semelhante ao método acima. A única diferença é que usamos funções map() e expressões lambda para reduzir a legibilidade complexa. Funciona apenas com Python2.


# Código Python2 para demonstrar como funciona
# Converte intervalos de strings para lista
# Usando map () + lambda + split ()


# string de inicialização

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


# imprime a linha original

print ( "A string original é:" + test_str)


# Converte intervalos de strings para lista
# Usando map ( ) + lambda + split ()

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

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


res = [b para a em temp para b em a]


# imprime resultado

print ( "Lista após conversão de string:" + str (res))

Sair:

A string original é: 1, 4-6, 8-10, 11 Lista após conversão da string: [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