Тизме, сөздүк жана көптүк комбинациялары
Бүтүн жыйнакты бир түшүнүктүү сапта куруңуз
- тизме, сөздүк жана көптүк комбинацияларын эркин жазуу,
- аягындагы
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]
Муну чогултуу конвейери катары элестетиңиз: элементтер оң жактан итерацияланчу объекттен келет, ар бири сол жактагы туюнтма менен түрлөндүрүлөт, ал эми даяр бөлүктөр таптакыр жаңы тизмеге чогулат. Эч нерсе ордунда өзгөрбөйт; комбинация ар дайым жаңы жыйнак жаратат.