Python тилиндеги тизмелер ( тизме ). Функциялардын жана методдордун тизмеси

Программалоодо тизмелер массивдер сыяктуу эле пайдалуу маалымат структурасы болушу мүмкүн. Тизмелер деген эмне, аларды кантип түзүү керек? Python'до тизмелер менен кантип иштөө керек? Бул тууралуу биздин макаладан биле аласыз.

Pythonдо тизмелер деген эмне?

Python тилиндеги тизмелер ( тизме ). Функциялардын жана методдордун тизмеси
Python маалымат түрлөрү: тизмелер

Тизмелер жарым-жартылай массивдер менен аныкталышы мүмкүн, бирок листингдин айырмасы жана артыкчылыгы (болбосо алар листинг деп да аталат) алар ар кандай маалымат түрлөрүн айкалыштыра алат. Башкача айтканда, листинг объекттердин ар кандай ырааттуулугун сактоо үчүн көбүрөөк мүмкүнчүлүктөрдү ачат. Тизме деп аталган өзгөрмө эстутумдагы альтернативдик структураларга шилтемелерди камтыган структурага шилтемени камтыйт.

Python тилиндеги тизме өзгөртүүгө болот жана объекттери айырмаланышы мүмкүн болгон аралаш типтеги объекттердин иреттелген жыйнагы.

Ал эмнени билдирет? Келгиле, аныктаманы майда-чүйдөсүнө чейин карап көрөлү.

Листингтин өлчөмүн өзгөртүүгө, кыскартууга, ага жаңы саптарды кошууга болот. Ошондой эле тизменин бүт структурасын өзгөртө аласыз. Тизмедеги ыкма колдонулган сайын көчүрмө эмес, түпнуска тизме өзгөрөрүн унутпаңыз.

Түшүнүктүү болушу үчүн, сиз Python тилиндеги листингди дүкөндөн сатып алуу керек болгон өнүмдөрдүн тизмеси деп ойлосоңуз болот. Эгерде соода планын түзүүдө бардык керектүү нерселер бири-биринин астына жайгашса жана алардын ар биринин өз сызыгы болсо, анда Python листингинде үтүр менен бөлүнгөн бардык элементтер жана төрт бурчтуу кашаалар камтылган, ошондуктан Python түшүнө алат. тизмеси бул жерде көрсөтүлгөн. Элементтер тырмакчага алынган. Бул милдеттүү шарт, анткени ар бир элемент өзүнчө сызык.

Тизмени түзүүнүн жолдору

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

Алардын бири колдонмо болуп саналат камтылган функция тизмеси( ). Бул үчүн, сиз кайталануучу каалаган объектти (сап, кортеж же бар тизме) иштеп чыгышыңыз керек. Бул учурда, сап.

Бул жерде акыры эмне болот:

>>> тизме('тизме') ['c', 'n', 'i', 'c', 'o', 'to']

Экинчи мисал тизмелер өтө ар түрдүү объекттердин чексиз санын камтышы мүмкүн экенин көрсөтүп турат. Ошондой эле, тизме бош калышы мүмкүн.

>>> s = [] # Бош тизме >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Кийинки, үчүнчү, тизмелерди түзүү жолу деп аталган листинг генератору.

Листинг генератору тизмелерди түзүү үчүн синтаксистик түзүлүш болуп саналат. Бул for циклине окшош.

>>> c = [c * 3 'тизмедеги'] >>> c ['lll', 'iii', 'sss', 'ttt']

Бул дагы көлөмдүү структураларды түзүү үчүн колдонулушу мүмкүн:

>>> c = [c * 3 'тизмедеги' c үчүн, if c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d үчүн c 'тизмеде' if c != 'i' d for 'spam' if d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Бирок, бул муун ыкмасы бир нече тизме түзүүдө дайыма эле натыйжалуу боло бербейт. Ошондуктан, тизмелерди түзүү үчүн for циклин колдонуу сунушталат.

Эгер тизмеден кандайдыр бир элементке кайрылуу керек болсо, анда индекстер колдонулат. Ар бир элементтин өзүнүн индекси бар.

Индекс - бул тизмедеги элементтин саны.

Эгерде сиз тизмени кайталануучу, окшош элементтер менен толтургуңуз келсе, * белгиси колдонулат. Мисалы, листингге үч окшош санды кошуу керек: [100] * 3.

Листинг функциялары

милдеттери – бул Pythonдун башка программалоо тилдеринен негизги артыкчылыгы. Негизги камтылган функцияларды тизмелерге колдонсо болот.

Алардын эң популярдуусун карап көрөлү:

  • тизме (аралыгы( )) – эгерде тапшырма ырааттуу тизме түзүү болсо, анда диапазон функциясы колдонулат. Бул функциянын төмөнкү формалары бар:
  1. диапазон (аягы). Ал нөлдөн чектүү санга чейин тизме түзүү зарыл болгондо колдонулат.
  2. диапазон (баштоо, аяктоо). Башталгыч жана аяктоочу номерлер көрсөтүлөт.
  3. диапазон (баштоо, аяктоо, кадам). Кадам параметри тандоо мүнөзүн аныктайт. Мисалы, 1ден 21ге чейинки тизмектен ар бир бешинчи санды тандоо керек болсо, анда пайда болгон тизме төмөнкүдөй болот: [10,15, 20].

Диапазон функциясы коддун көлөмүн бир топ кыскарта алат.

  • зыгыр (тизме) – тизмеде канча элемент бар экенин билүүгө мүмкүндүк берет.
  • сорттолгон(тизме, [ачкыч]) – тизмедеги объекттерди өсүү тартибинде иреттейт.
  • макс (тизме) – эң чоң элементти кайтарат.
  • мин (тизме) – карама-каршы функция – элементти минималдуу маани менен кайтарууга мүмкүндүк берет.

Сиз ошондой эле башка камтылган функцияларды колдоно аласыз:

  • тизме (көп) – Кортеждик объектти тизмеге айлантат.
  • сумма (тизме) – тизмедеги бардык элементтердин суммасы, эгерде бардык маанилер сандар болсо, бүтүн сандарга да, ондуктарга да тиешелүү. Бирок, ал дайыма эле туура боло бербейт. Эгерде тизмеде сандык эмес элемент болсо, функция катаны чыгарат: “TypeError: +: 'int' жана 'str' үчүн колдоого алынбаган операнд түрү(лар)”.

Листинг ыкмалары

Python тилиндеги тизмелер ( тизме ). Функциялардын жана методдордун тизмеси
Python методдорунун тизмеси

Келгиле, дүкөндөн сатып ала турган буюмдардын тизмегине кайрылып, аны дүкөн тизмеси деп атайлы:

дүкөн тизмеси = []

Андан кийин, листинг ыкмаларын карап көрөлү:

  • тиркеме (пункт) – анын жардамы менен сиз тизмеге элемент кошо аласыз. Бул учурда, жаңы элемент аягында болот.

Келгиле, жаңы тизмебизди туура өнүмдөр менен толтуралы:

shoplist.append(нан)

shoplist.append(сүт)

  • тизме.узартуу(A) - "тизмеге тизмени" кошот. Бул функция убакытты үнөмдөйт, анткени бир эле учурда бир нече нерсени кошо аласыз. Бизде жемиштердин тизмеси бар дейли, аларды негизги тизмеге кошуу керек.

shoplist.extend(жемиштер)

  • кыстаруу (индекс, пункт) – көрсөтүлгөн индекси бар элементке көрсөтүлгөн индекстен мурда көрсөтүлгөн маанини киргизет.
  • lcount(пункт) – элементтин кайталануу санын көрсөтөт.
  • тизме.алып салуу(нерсе) карама-каршы функция болуп саналат тизме.кошуу (x). Бул кандайдыр бир элементти алып салуу үчүн колдонулушу мүмкүн. Тандалган нерсе тизмеде жок болсо, ката кабарланат.
  • pop([индекс]) – тандалган элементти алып салат жана аны ошол эле жол менен кайтарат. Эгерде элемент көрсөтүлбөсө, анда акыркы элемент тизмеден чыгарылат.
  • сорттоо([ачкыч]) – листингге элементтерди өсүү тартибинде коёт, бирок сиз функцияны да көрсөтө аласыз.
  • индекс (пункт) – биринчи тандалган элементтин индексин көрсөтөт.
  • Сиз тизмени кеңейте аласыз, башкача айтканда, ыкманы колдонуу менен анын бардык элементтерин чагылдыра аласыз тескери (тизме). Акыркы элемент биринчи болот, акыркы элемент экинчи болуп калат ж.б.у.с.
  • Тизменин көчүрмөсү буйрук менен түзүлөт көчүрүү (тизме).
  • терең көчүрмө (тизме) - терең көчүрүү.
  • ыкмасын колдонуу менен бардык тизме элементтерин алып салуу таза (тизме).

Белгилей кетчү нерсе, листинг ыкмалары саптык методдордон айырмаланат, алар тизмени дароо өзгөртөт, башкача айтканда, аткаруунун натыйжасын кайтаруунун кереги жок.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> print(l) Жок

Төмөндө тизмелер менен иштөөнүн мисалы келтирилген:

>>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Таштап Жооп