Списъците на 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"] # преводачът връща списъка;
Когато създавате списък в 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. Но има значителна разлика. В резултат на индексацията се връща отделна част от последователността. Разрезът създава нов обекттипов списък:
Списък [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 () в интерпретатора.