Програмиране на Python. Списък в Python: Основни операции

Списъците на Python са подредени колекции. Те са важен компонент на програмния код. Списъците се отнасят за вградени езикови обекти. С тяхна помощ можете бързо и ефективно да обработвате голямо количество информация и структури от данни от всякаква сложност.

Свойства и характеристики на списъка с обекти

Списъците са гъвкави и променливи данни. Те могат да бъдат с всякаква дължина и да съдържат неограничено количество информация. Като елементи от последователността е позволено да се използват низове, прости и валидни числа, речници. Всеки списък от променливи в Python може да бъде индивидуално обработен, изтрит или заменен. Списъкът съдържа определен набор от свойства, които ги отличават от други типове данни:
  • Това са групи от обекти с подредено позициониране отляво надясно.
  • Списъците осигуряват достъп до отместването, т.е. броя на обекта.
  • Списъците на Python са разнородни. Последователността може да включва обекти от различен тип, включително номера, преобразувания, линии, файлове.
  • Списъците принадлежат към категорията на променливите обекти с неограничен брой гнездене.
  • Списъците могат да бъдат объркани със свързани структури от данни. Но всъщност те са препратки към контейнери, а не към техните копия. Те са като адресна книга. Всички елементи от списъка сочат към мястото, където се намира желания обект. В този списък Python е подобен на масивите от C език, но е реализиран в интерпретатора.

    Основни операции на последователностите

    Формално има три категории в езика. Тези цифри садисплей и последователност, които включват списъка с типове. За всяка група има общ набор от операции. Например, добавяйте, изваждайте и умножавайте за числови обекти или ключов достъп до речници.


    Последователностите също имат характерни операции:
  • достъп до елемент, използващ целочислени индекси __getitem __ ();
  • Определяне на дължината __len __ ();
  • свързване чрез оператора "+";
  • Извличане на разреза [:].
  • Списъци в действие

    Списъците имат по-широк кръг от функции от низове в Python. Това е мощно средство за разработка с редица специфични функции, приложими само към списъка с типове. Как изглежда списъкът от методи на практика:
  • моят списък = [едно, две, три] # създаване на нов списък;
  • Моят списък;
  • ["един", "2", "три"];
  • len (моите обяви);
  • 3 # интерпретаторът връща дължината;
  • моя списък [+ 1, 2, 3] # конкатенация;
  • [едно, две, три, едно, две, три];
  • Моят списък * повтори;
  • [едно, две, три, едно, две, три].
  • Когато се извършва конкатенация от всяка страна, знакът "+" трябва да има същата последователност, в противен случай преводачът ще издаде съобщение за грешка: float ») към списъка.За да компилирате низ и списък в Python, трябва да извършите предишна трансформация на тип str:
  • second_list = list ("string") # преобразуване на обекта "string";
  • втори списък;
  • ["c", "t", "p", "o", "k", "a"] # преводачът връща списъка;
  • second_list + my_list;
  • ["c", "t", "p", "o", "k", "a","Едно", "2", "три"].
  • Когато създавате списък в Python, трябва да следвате строгите синтаксични правила. Всеки обект трябва да бъде заграден в квадратни скоби, а елементите да бъдат разделени със запетаи.

    Какво представляват итерациите и генераторите на списъци

    Итерацията е процес на повторение. В контекста на списъците - това е прогресивен напредък по елементите на повторения обект. Например:
  • 3 в [1, 2, 3] # ще провери дали посоченият елемент е включен;
  • Вярно е;
  • за x в [1, 2, 3, 4]: # ще изпълнява итерация;
  • print (x);
  • 1;
  • 2;
  • 3;
  • 4.
  • Ако итерацията е просто байпас на всеки елемент, тогава генерирането е процес на създаване на нов обект от тип списък. В Python, генераторите на списъци са подобни на цикли за, но работят по-бързо и изглеждат по-лесно като синтаксис:
  • List_1 = [c * 4 за c в "SPAM"] # изглежда като поколение;
  • Списък_1;
  • [„SSSS“, „PPPP“, „AAAA“, „MMMM“];
  • ​​
  • Списък_2 = [];
  • за c в "SPAM": # подобно на командата за генериране;
  • List_2.append (c * 4) # list.append () добавя нови елементи;
  • Списък_2;
  • [„SSSS“, „PPPP“, „AAAA“, „MMMM“].
  • И в двата примера резултатът е идентичен. Но с използването на генератора кодът става много по-кратък и по-лесен. Този подход е изцяло в съответствие с Zen на Python. Това е дзен, или код на език, в който една от точките се казва: "По-лесно е да се сгъва по-лесно."

    Изрез на изрез и достъп до индекс

    Тези две операции са напълно сходни и ви позволяват да обработвате отделни елементи от списъка в Python. Но има значителна разлика. В резултат на индексацията се връща отделна част от последователността. Разрезът създава нов обекттипов списък:

  • List1 = [спам, спам, спам!]
  • List1
  • # компенсиране започва от нулата
  • "спам"!
  • List1 [-2] # отрицателно изместване: изведено надясно
  • "Спам"
  • Списък [1:] # операция на изключване връща части от обекта
  • 65) [«Спам», «СПАМ!»]

    Как действа операцията по извличане на разфасовката и нейните възможности

    Езиковите конструкции позволяват не само да получават, но и да променят отделни елементи, като им придават нови значения. В резултат на това се връща същия списък, само от друга променлива. Тази операция е подобна на присвояването по индекс на езика C. Интерпретаторът замества старата препратка към новия зададен обект в смяна:
  • my_list = [един, осем, сто];
  • Моят списък [0: 2] = [деветдесет и осем, деветдесет и девет];
  • моите обяви;
  • ["деветдесет и осем", "деветдесет и девет", „сто".
  • Това е доста сложна операция, която се осъществява на няколко етапа. Първо, преводачът изтрива всички елементи отляво на оператора. В този пример той е "един" и "осем". След това всички обекти отдясно на оператора се вмъкват в списъка, започващ от левия край. Описаният процес осигурява гъвкава работа с разрези. Номерът се изтрива и добавените елементи могат да бъдат различни. Операцията е подходяща за премахване и подмяна на обекти, както и за разширяване на списъци. Това е мощен начин за обработка на кода. Но програмистите рядко го използват на практика, предпочитайки по-прости инструкции, вмъкнете, извадете и премахнете.

    Специфични методи на обекти от типов списък

    Повечетометоди, или функции, насочени директно към промяна на обекта. Най-често срещаният е .append (). Той добавя елементи в края на списъка:
  • my_L = ["I", "love", "program", "on"];
  • my_L;
  • ["I", "любов", "програма", "on"];
  • my_L.append ("Python") # ще добави елемент, посочен в скоби;
  • my_L;
  • ["I", "любов", "програма", "на", "питон"].
  • Друг, също толкова популярен метод се нарича sort (). Проектиран за сортиране на списъци в Python. Методът осъществява промяната на елементите чрез стандартни оператори за сравнение. Тя може да се използва и за по-сложни задачи, като се използват аргументи:
  • L = ["abc", "ABD", "aBe"];
  • L. сорт (ключ = str.lower, reverse = True) # Променя посоката на сортиране;
  • L;
  • ["aBe", "ABD", "abc"].
  • В примера синтактичната конструкция "name = value" е използвана за предаване на конфигурационните параметри. Аргументът ключ ви позволява да укажете собствени параметри за сравнение. В този случай, това са елементи на малка буква. Обратното означава „напротив”, т.е. в низходящ ред, а не в растеж.

    Методи за подводни камъни

    Когато работите с тези методи, трябва да вземете под внимание следните характеристики: .sort () .append () модифицира списъка, но не го връща. Design my list = List.sort () няма смисъл и резултат. Ето защо в най-новите версии на езика разработчиците въвеждат функцията sorted (), която поема списъка като аргумент:

  • Моят списък = [1, 100, 56, 34, 2, 99];
  • dubl_scripts = my_list.sort ();
  • dubl_spesk # преводачът не връща нищо;
  • моите обяви;
  • [1, 2,34, 56, 99, 100];
  • dubl_scripts = сортирани (милисти);
  • dubl_scripts;
  • [1, 2, 34, 56, 99, 100] # интерпретаторът връща сортирано копие на обекта.
  • Допълнителни методи

    Python предлага допълнителни методи за специализирана обработка на списъци. Например, за да промените реда на следващите елементи, като използвате заден ход. Разширете и използвайте методи, за да поставите няколко елемента до края или да ги премахнете. Има и обратна функция, която прилича на сортирана, но използвана чрез списъка на повикванията:
  • L;
  • [4, 3, 2, 1];
  • списък (обратна (L)) # вградена функция за сортиране в обратен ред;
  • [1, 2, 3, 4].
  • Всички разглеждани транзакции са най-често използвани за списъци и са основни. Но има високо специализирани методи. Например, .copy (), който създава повърхностно копие на обекта, и .count (), който връща броя на елементите. За да видите всички налични в Python списъци с функции, приложими към обекта на списъка, трябва да въведете help () или dir () в интерпретатора.

    Свързани публикации