Спісы ( list ) у Python. Спіс функцый і метадаў

У праграмаванні спісы, магчыма, такая ж карысная структура даных, як і масівы. Што такое спісы, як іх ствараць? Як працаваць са спісамі ў Python? Пра гэта вы даведаецеся з нашага артыкула.

Што такое спісы ў Python?

Спісы ( list ) у Python. Спіс функцый і метадаў
Тыпы даных Python: спісы

Спісы можна часткова атаясамліваць з масівамі, але адрозненне і перавага спісаў (інакш іх яшчэ называюць спісамі) у тым, што яны могуць камбінаваць розныя тыпы даных. Гэта значыць, лістынг адкрывае больш магчымасцяў для захоўвання любой паслядоўнасці аб'ектаў. Пераменная, званая спісам, змяшчае спасылку на структуру ў памяці, якая змяшчае спасылкі на альтэрнатыўныя структуры.

Спіс у Python - гэта ўпарадкаваная калекцыя аб'ектаў змешаных тыпаў, якія можна змяняць і чые аб'екты могуць адрознівацца.

Што гэта значыць? Давайце разбярэмся з вызначэннем у дэталях.

Памер лістынга можна змяняць, памяншаць, дадаваць у яго новыя радкі. Вы таксама можаце змяніць усю структуру спісу. Майце на ўвазе, што кожны раз, калі выкарыстоўваецца метад у спісе, змяняецца зыходны спіс, а не копія.

Для большай яснасці вы можаце разглядаць спіс у Python як спіс прадуктаў, якія трэба купіць у краме. Калі пры складанні плана пакупак усе неабходныя пункты размешчаны адзін пад адным і кожны з іх мае свой радок, то лістынг у Python змяшчае ўсе элементы праз коскі і ў квадратных дужках, каб Python мог зразумець, што спіс пазначаны тут. Элементы бяруцца ў двукоссе. Гэта абавязковая ўмова, бо кожны элемент - гэта асобная лінія.

Спосабы стварэння спіса

Пераходзячы да класічнага прыкладу, давайце створым спіс, які мы будзем выкарыстоўваць і змяняць у будучыні. Ёсць некалькі спосабаў стварэння спісаў.

Адзін з іх - дадатак спіс убудаваных функцый(). Для гэтага вам трэба апрацаваць любы аб'ект, які можна ітэраваць (радок, картэж або існуючы спіс). У дадзеным выпадку радок.

Вось што атрымліваецца ў выніку:

>>> list('list') ['c', 'n', 'i', 'c', 'o', 'to']

Другі прыклад паказвае, што спісы могуць утрымліваць неабмежаваную колькасць вельмі розных аб'ектаў. Акрамя таго, спіс можа заставацца пустым.

>>> s = [] # Пусты спіс >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Наступны, трэці, спосаб фарміравання спісаў - гэта т.зв генератар спісаў.

Генератар спісаў - гэта сінтаксічная канструкцыя для стварэння спісаў. Гэта падобна на цыкл for.

>>> c = [c * 3 для c у 'спісе'] >>> c ['lll', 'iii', 'sss', 'ttt']

З яго дапамогай можна ствараць і больш аб'ёмныя канструкцыі:

>>> c = [c * 3 для c у 'спісе', калі c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d для c in 'list' if c != 'i' for d in 'spam' if d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Аднак гэты метад генерацыі не заўсёды эфектыўны пры складанні некалькіх спісаў. Такім чынам, мэтазгодна выкарыстоўваць цыкл для стварэння спісаў.

Калі трэба звярнуцца да любога элемента са спісу, то выкарыстоўваюцца індэксы. Кожны элемент мае свой індэкс.

Індэкс - гэта нумар элемента ў спісе.

Калі вы жадаеце запоўніць спіс паўтаральнымі, аднолькавымі элементамі, выкарыстоўваецца сімвал *. Напрыклад, у лістінг трэба дадаць тры аднолькавых лічбы: [100] * 3.

Лістынг функцый

функцыі – гэта, мабыць, галоўная перавага Python перад іншымі мовамі праграмавання. Асноўныя ўбудаваныя функцыі могуць прымяняцца да спісаў.

Разгледзім самыя папулярныя з іх:

  • спіс (дыяпазон ( )) – калі стаіць задача стварыць паслядоўны спіс, то выкарыстоўваецца функцыя дыяпазону. Гэтая функцыя мае наступныя формы:
  1. дыяпазон (канец). Выкарыстоўваецца, калі неабходна стварыць лістынг ад нуля да канчатковага ліку.
  2. дыяпазон (пачатак, канец). Указваюцца як пачатковы, так і канчатковы нумары.
  3. дыяпазон (пачатак, канец, крок). Параметр step вызначае характарыстыку выбару. Напрыклад, калі вам трэба выбраць кожнае пятае лік з паслядоўнасці ад 1 да 21, то выніковы лістынг будзе выглядаць так: [10,15, 20].

Функцыя дыяпазону можа значна скараціць аб'ём кода.

  • лён (спіс) – дазваляе даведацца, колькі элементаў у спісе.
  • адсартавана (спіс, [ключ]) – сартуе аб'екты ў спісе па ўзрастанні.
  • максімум (спіс) – вяртае найбольшы элемент.
  • мін (спіс) – супрацьлеглая функцыя – дазваляе вярнуць элемент з мінімальным значэннем.

Вы таксама можаце выкарыстоўваць іншыя ўбудаваныя функцыі:

  • спіс (картэж) – Пераўтварае аб'ект картэжа ў спіс.
  • сума (спіс) – сумуе ўсе элементы ў спісе, калі ўсе значэнні з'яўляюцца лікамі, прымяняецца як да цэлых, так і да дзесятковых знакаў. Аднак не заўсёды ў яе ўсё атрымліваецца. Калі ў спісе ёсць нелічбавы элемент, функцыя выдасць памылку: “TypeError: непадтрымоўваны тып(ы) аперанда для +: 'int' і 'str'”.

Метады лістынга

Спісы ( list ) у Python. Спіс функцый і метадаў
Спіс метадаў Python

Давайце вернемся да нашага спісу тавараў для пакупкі ў краме і назавем яго спісам:

спіс крам = []

Далей разгледзім метады лістынга:

  • дадаць (элемент) – з яго дапамогай вы можаце дадаць элемент у спіс. У гэтым выпадку новы элемент будзе знаходзіцца ў канцы.

Давайце запоўнім наш новы спіс патрэбнымі прадуктамі:

shoplist.append(хлеб)

shoplist.append(малако)

  • спіс.падоўжыць(A) – дадае «спіс у спіс». Гэтая функцыя эканоміць час, так як вы можаце дадаць некалькі элементаў адначасова. Дапусцім, у нас ужо ёсць спіс садавіны, нам трэба дадаць іх у асноўны спіс.

shoplist.extend(фрукты)

  • уставіць (індэкс, элемент) – устаўляе ў элемент з зададзеным індэксам зададзенае значэнне перад зададзеным індэксам.
  • lcount (пункт) – паказвае колькасць паўтораў элемента.
  • спіс.выдаліць(пункт) з'яўляецца супрацьлеглай функцыяй спіс.дадаць (x). Яго можна выкарыстоўваць для выдалення любога элемента. Калі абранага элемента няма ў спісе, паведамляецца пра памылку.
  • поп([індэкс]) – выдаляе вылучаны элемент і вяртае яго такім жа чынам. Калі элемент не пазначаны, то апошні элемент выдаляецца са спісу.
  • сартаваць ([ключ]) – размяшчае элементы ў спісе ў парадку ўзрастання, але вы таксама можаце вызначыць функцыю.
  • індэкс (пункт) – паказвае індэкс першага выбранага элемента.
  • Вы можаце пашырыць спіс, гэта значыць адлюстраваць усе яго элементы, выкарыстоўваючы метад рэверс (спіс). Апошні элемент становіцца першым, перадапошні - другім і г.д.
  • Копія спісу ствараецца з дапамогай каманды копія (спіс).
  • глыбокая копія (спіс) – глыбокае капіраванне.
  • Выдаліце ​​ўсе элементы спісу з дапамогай метаду ачысціць (спіс).

Варта адзначыць, што метады лістынга адрозніваюцца ад метадаў радкоў тым, што яны адразу змяняюць спіс, гэта значыць няма неабходнасці вяртаць вынік выканання.

>>> 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]

Пакінуць каментар