Python | Dize aralıklarını listeye dönüştürün

| | | | | | |

Yöntem # 1: sum() + split() + liste anlama + enumerate()
Yukarıdakilerin kombinasyonunu kullanma Bu görevleri gerçekleştirmek için işlevler kullanılabilir. Bu durumda bölme kısa çizgi ve virgül ile yapılır ve buna göre aralık, sayılar çıkarılır ve bir liste halinde derlenir.


# Nasıl çalıştığını göstermek için Python3 kodu
# Dize aralıklarını bir listeye dönüştürün
# Toplamı kullanma ( ) + liste anlama + numaralandırma () + bölme ()


# başlatma dizesi

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


# orijinal satırı yazdır

yazdır ( "Orijinal dize:" + test_str)


# Dize aralıklarını bir listeye dönüştürün
# Toplam () + liste anlama + numaralandırma () + bölme () kullanma

res < kod sınıfı = "anahtar kelime"> = toplam ((( liste ( aralık ( * [ int (b) + c

için c, b in numaralandırmak (a.split ( `-` ))]))

if ` -` a başka [ int (a)]) için a in test_str.split ( `, `) ))), [ ])


# yazdırma sonucu

print ( "Dizeden dönüştürme sonrası liste:" + str (res))

Çıktı:

Orijinal dize: 1, 4-6, 8-10, 11 Dizeden dönüştürmeden sonra liste: [1, 4, 5, 6, 8, 9, 10, 11] 

Yöntem # 2: map () kullanma + bölmek () + lambda
Bu görev, yukarıdaki işlevler kullanılarak da yapılabilir. Yukarıdaki yönteme benzer. Tek fark, karmaşık okunabilirliği azaltmak için map() işlevlerini ve lambda ifadelerini kullanmamızdır. Yalnızca Python2 ile çalışır.


# Nasıl çalıştığını göstermek için Python2 kodu
# Dize aralıklarını listeye dönüştürün
# Harita () + lambda + bölme () kullanma


# başlatma dizesi

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


# orijinal satırı yazdırma

print ( "Orijinal dize:" + test_str)


# Dize aralıklarını listeye dönüştürün
# Haritayı kullanma ( ) + lambda + bölme ()

temp = [( lambda alt: aralık (sub [ 0 ], alt [ - 1 ] + 1 )) ( harita ( int , ele.split ( `-` )))

için ele test_str. split ( `,` )]


res = [b için a in temp için b in a]



# print sonuç

print ( "Dizeden dönüştürmeden sonraki liste:" + str (res))

Çıkış:

Orijinal dize: 1, 4-6, 8-10, 11 Dizeden dönüştürüldükten sonraki liste: [1, 4, 5, 6, 8, 9, 10, 11] 

Python | Dize aralıklarını listeye dönüştürün exp: Questions

Python | Dize aralıklarını listeye dönüştürün 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