Мазмунга өтүү

Тизме, сөздүк жана көптүк комбинациялары (comprehensions)

Сабактын башталышы

Тизме, сөздүк жана көптүк комбинациялары

Бүтүн жыйнакты бир түшүнүктүү сапта куруңуз

Негизги идея: комбинация (comprehension) — бул тизмени, сөздүктү же көптүктү куруунун ыкчам синтаксиси. Мында сиз бош контейнерге элемент кошкон кадам-кадам циклди жазуунун ордуна эмне алгыңыз келгенин сүрөттөйсүз. Бир туюнтма катары окулат: "ар бир элементти ал, аны түрлөндүр жана каалаган болсоң шартка дал келгендерин гана калтыр".
Сабактын аягында сиз төмөнкүлөрдү жасай аласыз:
  • тизме, сөздүк жана көптүк комбинацияларын эркин жазуу,
  • аягындагы if менен чыпкалоо кошуу жана шарттуу туюнтма менен маанилерди тандоо,
  • бир комбинациянын ичине циклдерди уялатуу,
  • кайталанмаларды өчүрүү үчүн көптүк комбинациясын, ал эми ачкыч менен маанилерди кайра дайындоо үчүн сөздүк комбинациясын колдонуу,
  • комбинация качан жардам берерин, ал эми качан кадимки цикл же генератор жакшыраак экенин чынчылдык менен чечүү.

1. Циклден комбинацияга

Сиз буга чейин тизмени цикл менен курууну билесиз: бош баштап, аралап чыгып, append чакыруу. 0дөн 4кө чейинки сандардын квадраттары керек дейли.

squares = []
for n in range(5):
    squares.append(n * n)
print(squares)

Жыйынтык:

[0, 1, 4, 9, 16]

Тизме комбинациясы так ушул эле ойду бир сапта туюнтат. Циклдин үч кыймылдуу бөлүгү — жыйынтык-туюнтма, цикл өзгөрмөсү жана итерацияланчу объект — солдон оңго катарланат:

squares = [n * n for n in range(5)]
print(squares)   # [0, 1, 4, 9, 16]

Муну чогултуу конвейери катары элестетиңиз: элементтер оң жактан итерацияланчу объекттен келет, ар бири сол жактагы туюнтма менен түрлөндүрүлөт, ал эми даяр бөлүктөр таптакыр жаңы тизмеге чогулат. Эч нерсе ордунда өзгөрбөйт; комбинация ар дайым жаңы жыйнак жаратат.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө