Python düzleştirme listesi

Listeyi duzle≈ütirme, bir boyutu listeden kaldƒ±rma surecini ifade eder. Boyut, listedeki bir √∂ƒüeyi bulmak için gereken ek bir koordinatƒ± ifade eder. Liste kavrayƒ±≈üƒ±, iç içe geçmi≈ü bir for d√∂ngusu veya itertools.chain() y√∂ntemini kullanarak bir Python listesini duzle≈ütirebilirsiniz.

Bir Python listesi birden çok boyut içerebilir. Bu, listeler içinde bir listeniz olduƒüu anlamƒ±na gelir. Bazen ‚Äòiç içe listeler‚" tekrar normal bir listeye d√∂nu≈üturulebilir.

Bu, bir listedeki tum deƒüerleri tek bir listeye ta≈üƒ±yabileceƒüiniz anlamƒ±na gelir. Listelerin listesini listeye d√∂nu≈üturmeye "Listeyi duzle≈ütirme‚"

Python Listeyi Duzleştirme

Python listesini duzle≈ütirmenin uç yolu vardƒ±r:

  • Liste kavrayƒ±≈üƒ±nƒ± kullanma.
  • ƒ∞ç içe geçmi≈ü bir for d√∂ngusu kullanma.
  • itertools.chain() y√∂ntemini kullanma.

Bu kƒ±lavuzda, bir liste kavrama, bir for d√∂ngusu ve itertools.chain() y√∂ntemini kullanarak bir listenin nasƒ±l duzle≈ütirileceƒüi hakkƒ±nda konu≈üuyoruz. Listeleri kendi programlarƒ±nƒ±zda duzle≈ütirmeye ba≈ülayabilmeniz için iki √∂rnek uzerinden geçiyoruz.

Python: Liste Anlamayı Kullanarak Listeyi Duzleştirme

Bir Python liste kavrayƒ±≈üƒ±, mevcut bir listenin içeriƒüine dayalƒ± bir liste tanƒ±mlar. Kavrama içindeki ko≈üullarƒ± veya deƒüi≈üiklikleri belirterek yeni listenize giren her √∂ƒüeyi √∂zelle≈ütirebilirsiniz.

Anlamalar, bir liste uzerinde yineleme yapmak ve yeni bir liste olu≈üturmak için bir for d√∂ngusu kullanmak için s√∂zdizimsel ≈üekerdir. Bu, bir for d√∂ngusuyle aynƒ± temel ≈üekilde çalƒ±≈ütƒ±klarƒ±, ancak farklƒ± s√∂zdizimi kullandƒ±klarƒ± anlamƒ±na gelir.

Listeyi kavramanın sözdizimi şöyledir:

Katƒ±lƒ±mcƒ±larƒ±n %81’i kendilerini daha guvende hissettiklerini belirtti. bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri hakkƒ±nda. Bugun bir eƒüitim kampƒ± ile e≈üle≈ütirin.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan daha az zaman harcadƒ±.

Bu kavrayƒ±≈ü, her sayƒ±yƒ± çoƒüaltƒ±r. "sayƒ±larƒ±mƒ±z‚" 2’ye g√∂re listele.

Listeyi Duzleştir: Liste Anlama Örneği

Bir restoranda bulunan farklƒ± sandviç dolgularƒ± içeren bir listemiz var. ≈ûu anda liste listemiz ≈ü√∂yle g√∂runuyor:

ƒ∞lk liste vegan sandviç dolgularƒ± içerir; ikinci liste vejetaryen sandviç dolgularƒ± içerir; uçuncu liste et içeren tum sandviç dolgularƒ±nƒ± içerir.

Bu listeyi tek bir besin listesine d√∂nu≈üturmek istiyoruz. ƒ∞ki boyutlu bir listeyle çalƒ±≈ümak iki boyutlu bir liste ile çalƒ±≈ümak daha kolay. Birden fazla boyuta gerek yok. ƒ∞kinci boyutu listemizden 烱karmak için bir liste kavrayƒ±≈üƒ± kullanabiliriz:

Bu liste kavrayƒ±≈üƒ±, "gƒ±dalar‚" içindeki her listeyi yineler Python deƒüi≈ükeni. Her deƒüer daha sonra bir ana listeye eklenir. Listemiz olu≈üturulduktan sonra konsola yazdƒ±rƒ±lƒ±r.

Kodumuzu yazalım ve ne olduğunu görelim:

Liste listemiz ba≈üarƒ±yla bir daireye d√∂nu≈üturuldu liste. Tum içerikler artƒ±k uç yerine tek bir listede g√∂runuyor.

Aynƒ± sonucu iç içe bir Python for loop kullanarak da elde ediyoruz. "D√∂ngu için yuvalanmƒ±≈ü‚" "for d√∂ngusu içinde bir for d√∂ngusu" demenin ba≈üka bir yoludur. Liste kavrayƒ±≈üƒ±mƒ±z, a≈üaƒüƒ±daki for d√∂ngusunu temsil etmenin ba≈üka bir yoludur:

Kodumuz, orijinal liste listesindeki her listedeki her liste √∂ƒüesini yinelemek için iki for d√∂ngusu kullanƒ±r. Kodumuzu çalƒ±≈ütƒ±ralƒ±m:

Programƒ±mƒ±z liste anlama ile aynƒ± sonucu verir. √áoƒüu durumda, bir liste kavrayƒ±≈üƒ±, bir for d√∂ngusunden daha iyi bir ç√∂zumdur. Liste anlamalarƒ± daha kƒ±sadƒ±r ve bu durumda okunmasƒ± iç içe bir for d√∂ngusunden daha kolaydƒ±r.

Python: Itertools Kullanarak Listeyi Duzleştir

Itertools, Python standart kitaplƒ±ƒüƒ±ndaki bir moduldur.Modul, yinelenebilir ile çalƒ±≈ümayƒ± kolayla≈ütƒ±ran bir dizi y√∂ntem saƒülar. nesneler ve jenerat√∂rler.

Amacƒ±mƒ±z için sadece chain() y√∂ntemine ba≈üvuruyoruz. Bu y√∂ntem bir liste listesini kabul eder ve duzle≈ütirilmi≈ü bir liste d√∂ndurur.

< p>Bir Python import deyimi kullanarak itertools modulunu kodumuza aktararak başlayın:

Sonra, listelerin listesini tanƒ±mlayƒ±n ve listeyi duzle≈ütirmek için chain() y√∂ntemini kullanƒ±n:

Kodumuzda, listemizi açmak için * sembolunu kullanƒ±rƒ±z. Bu, listemizi chain() y√∂ntemiyle ayrƒ±≈ütƒ±rƒ±labilen i≈ülev baƒüƒ±msƒ±z deƒüi≈ükenlerine d√∂nu≈üturur.

chain() y√∂ntemi bir itertools.chain nesnesi d√∂ndurur. Duzle≈ütirilmi≈ü listemizi g√∂rmek için bu nesneyi bir listeye d√∂nu≈üturmemiz gerekiyor. Bunu list() y√∂ntemini kullanarak yapƒ±yoruz:

Kodumuzu çalƒ±≈ütƒ±ralƒ±m:

Kodumuz listemizi duzleştirdi.

"Python.Engineering hayatıma en ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerim ile uyumlu hayalimdeki işi buldum!"

p>

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

itertools bir listeyi duzleştirmenin etkili bir yolu olsa da, kullandığımız son iki yaklaşımdan daha gelişmiştir. tartıştık.

Bunun nedeni, yeni bir baƒüƒ±mlƒ±lƒ±k getiren kodunuza itertools’u içe aktarmanƒ±z gerektiƒüidir. Dahasƒ±, chain() y√∂ntemi, anla≈üƒ±lmasƒ± zor olabilen paketi açmayƒ± içerir.

Sonuç

Bir Python listesini kullanarak duzle≈ütirebilirsiniz. bir liste kavrayƒ±≈üƒ±, iç içe geçmi≈ü bir for d√∂ngusu ve itertools.chain() y√∂ntemi. Liste anlama, en "Pythonic‚" y√∂ntemidir ve bu nedenle çoƒüu durumda tercih edilir.

ƒ∞ç içe geçmi≈ü d√∂nguler etkili olsa da, liste kavrayƒ±≈üƒ±ndan daha fazla kod satƒ±rƒ± tuketirler. itertools.chain() y√∂ntemi benzer ≈üekilde etkilidir ancak yeni ba≈ülayanlar için anlamasƒ± zor olabilir.

Python bir listeyi duzle≈ütirmek için ihtiyacƒ±nƒ±z olan tum araçlarƒ± saƒüladƒ±ƒüƒ±nda, genellikle yeni bir kitaplƒ±ƒüƒ± içe aktarmaya gerek yoktur ‚Äî itertools ‚Äî.

Python hakkƒ±nda daha fazla bilgi edinmek ister misiniz? Eksiksiz Python Nasƒ±l √ñƒürenilir kƒ±lavuzumuza g√∂z atƒ±n. Uzman √∂ƒürenme ipuçlarƒ±nƒ± ve √∂ƒürenebileceƒüiniz en iyi kurslarƒ±n ve kitaplarƒ±n bir listesini bulacaksƒ±nƒ±z. .

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

News


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