Списък на Python: разбиране, добавяне, сортиране, дължина, обратни ПРИМЕРИ

Съдържание:

Anonim

Какво е списък на Python?

Списъкът е точно това, което звучи, контейнер, който съдържа различни обекти на Python, които могат да бъдат цели числа, думи, стойности и т.н. Той е еквивалент на масив в други езици за програмиране. Представен е с квадратни скоби (и това е един от атрибутите, който го отличава от кортежи, които са разделени със скоби). Също така е променлив, т.е. може да бъде модифициран или актуализиран; за разлика от кортежите, които са неизменни.

В този урок за python ще научите:

  • Какво е списък на Python?
  • Примери за списъци на Python:
  • Достъп до стойности в списъци
  • Нарязване на списъка
  • Актуализиране на списъците
  • Изтриване на елементи от списъка
  • Добавяне на елементи от списъка
  • Списък на вградените функции (методи)
  • Прелистване на списъци
  • Списък на разбирането

Примери за списъци на Python:

Списъците на Python могат да бъдат еднородни, което означава, че те могат да съдържат еднотипни обекти; или разнородни, включително различни видове обекти.

Примерите за хомогенни списъци включват:

list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]

Примери за хетерогенни списъци включват:

[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']

Достъп до стойности в списъци

За достъп до стойности в списъците може да се използва индексът на обектите в списъците. Индексът в списъците на Python се отнася до позицията на елемент в подреден списък. Например:

list = [3, 22, 30, 5.3, 20]
  • Първата стойност в списъка по-горе, 3, има индекс 0
  • Втората стойност, 22, има индекс 1
  • Третата стойност, 30, има индекс 2

и така нататък. За да получите достъп до всяка от стойностите от списъка, ще използвате:

list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20

Последният член на списъка също може да бъде достъпен с помощта на индекса -1. Например,

list[-1] = 20

Нарязване на списъка

Нарязването на списъци е методът за разделяне на подмножество на списък и за това се използват и индексите на обектите от списъка. Например, като се използва същия пример от списъка по-горе;

list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).

Списъците на Python са с изключителна горна граница и това означава, че последният индекс по време на нарязването на списъци обикновено се игнорира. Защото

list[2:-1] = [30, 5.3] 
, а не [30, 5.3, 20]. Същото важи и за всички други примери за нарязване на списъци, дадени по-горе.

Актуализиране на списъците

Да предположим, че имате списък = [физика, химия, математика] и искате да промените списъка на [биология, химия, математика], като ефективно промените члена с индекс 0. Това може лесно да стане, като присвоите този индекс на нов член, който искате.

Това е,

list = [physics, chemistry, mathematics]list[0] = biologyprint(list)

Резултат: [биология, химия, математика]

Това замества члена с индекс 0 (физика) с новата стойност, която искате (химия). Това може да се направи за всеки член или подмножество от списъка, който искате да промените.

Да дам друг пример; да предположим, че имате списък, наречен цели числа и съдържащ числата [2, 5, 9, 20, 27]. За да замените 5 в този списък с 10, можете да направите това с:

 integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]

За да замените последния член на списъка с цели числа, който е 27, с безплатно число като 30,5, ще използвате:

 integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]

Изтриване на елементи от списъка

Има 3 метода на Python за изтриване на елементи от списъка: list.remove (), list.pop () и del оператор. Методът Remove взема конкретния елемент, който трябва да бъде премахнат като аргумент, докато pop и del вземат индекса на елемента, който трябва да бъде премахнат като аргумент. Например:

списък = [3, 5, 7, 8, 9, 20]

За да изтриете 3 (първия елемент) от списъка, можете да използвате:

  • list.remove (3) или
  • list.pop [0] или
  • дел списък [0]

За да изтриете 8, елемента от индекс 3, от списъка, можете да използвате:

  • list.remove (8), или
  • list.pop [3]

Добавяне на елементи от списъка

За добавяне на елементи към списък се използва методът на добавяне и това добавя елемента в края на списъка.

Например:

list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]

Списък на вградените функции (методи)

Следва списък на вградените в списъка функции и методи с техните описания:

  • len (списък): това дава дължината на списъка като изход. Например:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
  • max (списък): връща елемента в списъка с максималната стойност. Например:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
  • min (списък): връща елемента в списъка с минималната стойност. Например:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
  • list (кортеж): преобразува обект от кортеж в списък. Например;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
  • list.append (елемент): добавя елемента към списъка. Например;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
  • list.pop (индекс): премахва елемента в посочения индекс от списъка. Например;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
  • list.remove (елемент): изтрива елемента от списъка. Например;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
  • list.reverse (): обръща обектите от списъка. Например;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
  • list.index (елемент): за да получите стойността на индекса на елемент в списъка. Например;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
  • сума (списък): за да получите сумата от всички стойности в списъка, ако стойностите са всички числа (цели числа или десетични знаци). Например;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17

Ако списъкът съдържа някакъв елемент, който не е число, като низ, методът sum няма да работи. Ще получите грешка, казвайки: " TypeError : неподдържан тип (операнди) за +: 'int' и 'str'"

  • list.sort (): за подреждане на списък с цели числа, числа с плаваща запетая или низове във възходящ или низходящ ред. Например:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]

Друг пример:

values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]

Списък със низове също може да бъде сортиран по азбучен ред или по дължина на низовете. Например;

# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']

Можем да сортираме един и същ списък по азбучен ред, като използваме „низове“.

Прелистване на списъци

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

списък = [10, 20, 30, 40, 50, 60, 70].

За да прегледате всички елементи от този списък и да кажем, добавете 10 към всеки елемент:

for elem in list:elem = elem + 5print(elem)>>>>15253545556575

За да преминете през първите три елемента от списъка и да ги изтриете;

for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]

За да преминете през 3 -ти (индекс 2) до последния елемент от списъка и да ги добавите към нов списък, наречен new_list:

new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]

По този начин всеки или метод или функция могат да бъдат приложени към членовете на списък за извършване на определена операция. Можете или да преминете през всички членове на списъка, или да преминете през подмножество на списъка, като използвате нарязване на списъка.

Разбиране на списъка

Разбиранията на списъците са функции на Python, които се използват за създаване на нови последователности (като списъци, речници и т.н.), като се използват вече създадени последователности. Те помагат за намаляване на по-дългите цикли и улесняват четенето и поддръжката на вашия код.

Например; да кажем, че сте искали да създадете списък, който съдържа квадратите на всички числа от 1 до 9:

list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]

За да направите същото с разбирането на списъка:

list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]

Както се вижда по-горе, писането на кода чрез разбиране на списъци е много по-кратко от използването на традиционните за цикли и също така е по-бързо. Това е само един пример за използване на разбирането на списъци вместо за цикли, но това може да се репликира и използва на много места, където може да се използва и цикли. Понякога използването на цикъл for е по-добрият вариант, особено ако кодът е сложен, но в много случаи разбирането на списъци ще направи вашето кодиране по-лесно и по-бързо.

По-долу е дадена таблица, съдържаща някои функции и методи от списъка и техните описания.

Вградени функции

ФУНКЦИЯ ОПИСАНИЕ
Кръгъл() Закръглява числото, предадено като аргумент до определен брой цифри и връща стойността с плаваща запетая
Мин. () връща минимален елемент от даден списък
Макс () връща максимален елемент от даден списък
len () Връща дължината на списъка
Изброяване () Тази вградена функция генерира както стойностите, така и индексите на елементи в итерация, така че не е необходимо да броим ръчно
Филтър () тества дали всеки елемент от списък е верен или не
Ламбда Израз, който може да се появи на места, където def (за създаване на функции) не е синтактичен, вътре в списък литерал или аргументи за извикване на функция
Карта () връща списък с резултатите след прилагане на дадената функция към всеки елемент от даден итерабил
Натрупване () прилага конкретна функция, предадена в аргумента си към всички елементи на списъка, връща списък, съдържащ междинните резултати
Сума () Връща сумата от всички числа в списъка
Cmp () Това се използва за сравняване на два списъка и връща 1, ако първият списък е по-голям от втория списък.
Поставете Вмъкване на елемент за списък на определена позиция

Методи на списъка

ФУНКЦИЯ ОПИСАНИЕ
Добавяне () Добавя нов елемент в края на списъка
Изчистване () Премахва всички елементи от списъка
Копие() Връща копие от оригиналния списък
Разшири() Добавете много елементи в края на списъка
Броя() Връща броя на повторенията на даден елемент в списък
Индекс () Връща индекса на конкретен елемент от списък
Поп () Изтрива елемент от списъка с определен индекс (изтриване по позиция)
Премахване() Изтрива посочения елемент от списъка (изтриване по стойност)
Обратен() Метод за обръщане на място, който обръща реда на елементите от списъка

Обобщение

  • Списъкът е точно как звучи, контейнер, който съдържа различни обекти на Python, които могат да бъдат цели числа, думи, стойности и т.н.
  • Списъците на Python могат да бъдат хомогенни, означава, че могат да съдържат еднотипни обекти; или хетерогенни, съдържащи различни видове обекти.
  • За достъп до стойности в списъците може да се използва индексът на обектите в списъците.
  • Нарязването на списъци е методът за разделяне на подмножество на списък и за това се използват и индексите на обектите от списъка.
  • Три метода за изтриване на елементи от списъка са: 1) list.remove (), 2) list.pop () и 3) del оператор
  • Методът на добавяне се използва за добавяне на елементи. Това добавя елемента в края на списъка.
  • Методът на цикъл на програмата Python може да се изпълнява едновременно върху множество елементи от списък с данни.
  • Разбиранията на списъците са функции на Python, които се използват за създаване на нови последователности (като списъци, речници и т.н.), като се използват вече създадени последователности.