Python | Konwertuj zakresy ciągów na listę

| | | | | | |

Metoda nr 1: Użycie sum() + split() + zrozumienie listy + enumerate()
Kombinacja powyższych funkcje mogą być użyte do wykonania tych zadań. W tym przypadku podział jest wykonywany za pomocą łącznika i przecinka, a odpowiednio zakres, liczby są wyodrębniane i kompilowane w listę.


# Kod Python3 demonstrujący, jak to działa
# Konwertuj zakresy ciągów na listę
# Używając sum ( ) + zrozumienie listy + enumerate () + split ()


# ciąg inicjujący

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


# drukuj oryginalną linię

drukuj ( "Oryginalny ciąg to:" + test_str)


# Konwertuj zakresy ciągów na listę
# Używanie sum () + list ze zrozumieniem + enumerate () + split ()

res = suma ((( lista ( zakres ( * [ int (b) + c

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

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


# wynik wydruku

print ( "Lista po konwersji z ciągu:" + str (res))

Dane wyjściowe:

Oryginalny ciąg to: 1, 4-6, 8-10, 11 Lista po konwersji z ciągu: [1, 4, 5, 6, 8, 9, 10, 11] 

Metoda nr 2: Użycie map () + rozdzielać () + lambda
To zadanie można również wykonać za pomocą powyższych funkcji. Podobny do powyższej metody. Jedyna różnica polega na tym, że używamy funkcji map() i wyrażeń lambda, aby zmniejszyć złożoną czytelność. Działa tylko z Pythonem2.


# Kod Python2 demonstrujący, jak to działa
# Konwertuj zakresy ciągów na listę
# Używanie map() + lambda + split()


# ciąg inicjujący

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


# drukowanie oryginalnej linii

print ( "Oryginalny ciąg to:" + test_str)


# Konwertuj zakresy ciągów na listę
# Korzystanie z mapy ( ) + lambda + split ()

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

dla ele w test_str. split ( `,` )]


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


# wynik wydruku

print ( "Lista po konwersji z ciągu:" + str (res))

Wyjście:

Oryginalny ciąg to: 1, 4-6, 8-10, 11 Lista po konwersji z ciągu: [1, 4, 5, 6, 8, 9, 10, 11] 

Python | Konwertuj zakresy ciągów na listę exp: Questions

Python | Konwertuj zakresy ciągów na listę 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