Руководство Python Lists
View more Tutorials:
В Python, List является самым гибким видом данных. Это последовательность (sequence) элементов (element), который позволяет удалять, добавлять элементы в список, одновременно позволяет делать слайс(Slice) элементов.
Чтобы написать список, вам нужно расположить элементы в квадратных скобках [ ] и отделить друг от друга запятой. Элементы в списке будут индексированы (index) слева направо начиная с индекса 0.
listExample.py
fruitList = ["apple", "apricot", "banana","coconut", "lemen"] otherList = [100, "one", "two", 3] print ("Fruit List:") print (fruitList) print (" --------------------------- ") print ("Other List:") print (otherList)

Доступ к элементам
Используйте цикл for, чтобы получить доступ к элементам списка:
accessElementExample.py
fruitList = ["apple", "apricot", "banana", "coconut", "lemen", "plum", "pear"] for fruit in fruitList : print ("Fruit: ", fruit)

Получить доступ через индекс (index):
Вы так же можете получить доступ к элементам списка через индекс. Элементы списка индексированы слева направо, начиная с 0.
indexAccessExample.py
fruitList = ["apple", "apricot", "banana", "coconut", "lemen", "plum", "pear"] print ( fruitList ) # Количество элементов. print ("Element count: ", len(fruitList) ) for i in range (0, len(fruitList) ) : print ("Element at ", i, "= ", fruitList[i] ) # Подсписок содержащий элементы с индексом от 1 до 4 (1, 2, 3) subList = fruitList[1: 4] # ['apricot', 'banana', 'coconut'] print ("Sub List [1:4] ", subList )

Вы так же можете получить доступ к элементам списка по отрицательному индексу (Negative index), элементы индексированы справа налево со значениями -1, -2, ...
indexAccessExample2.py
fruitList = ["apple", "apricot", "banana", "coconut", "lemen", "plum", "pear"] print ( fruitList ) print ("Element count: ", len(fruitList) ) print ("fruitList[-1]: ", fruitList[-1]) print ("fruitList[-2]: ", fruitList[-2]) subList1 = fruitList[-4: ] print ("\n") print ("Sub List fruitList[-4: ] ") print (subList1) subList2 = fruitList[-4:-2] print ("\n") print ("Sub List fruitList[-4:-2] ") print (subList2)

Примером ниже является способ обновления списка (List) по индексу (index):
updateListExample.py
years = [1991,1995, 1992] print ("Years: ", years) print ("Set years[1] = 2000") years[1] = 2000 print ("Years: ", years) print ( years ) print ("Append element 2015, 2016 to list") # Соединить (append) элемент в конце списка. years.append( 2015 ) years.append( 2016 ) print ("Years: ", years)

Вы так же можете обновить значение для слайса (Slice) элементов. Это спсоб обновления многих элементов одновременно.
Слайс (Slice) это несколько последовательных элементов в списке.

sliceUpdateExample.py
years = [ 1990 , 1991 , 1992 , 1993 , 1994 , 1995 , 1996 ] print ("Years: ", years) print ("Update Slice: years[1:5] = [2000, 2001]") years[1:5] = [ 2000 , 2001 ] print ("Years: ", years)

Чтобы удалить один или много элементов в списке (list) вы можете использовать команду del (del statement), или использовать метод remove(). В примере ниже используется команда del чтобы удалить один или много элементов по индексу.
deleteElementExample.py
years = [ 1990 , 1991 , 1992 , 1993 , 1994 , 1995 , 1996 ] print ("Years: ", years) print ("\n del years[6]") # Удалить элемент с индексом = 6. del years[6] print ("Years: ", years) print ("\n del years[1:4]") # Удалить элемент с индексом = 1,2,3 del years[1:4] print ("Years: ", years)

Метод remove(value) удаляет первый элемент в списке со значением равным значению параметра. Данный метод может выбросить исключение (throw exception) если не найдет никакого элемента для удаления.
removeElementExample.py
years = [ 1990 , 1991 , 1992 , 1993 , 1994 , 1993 , 1993 ] print ("Years: ", years) print ("\n years.remove(1993)") # Удаляет первый элемент со значением 1993 в списке years.remove(1993) print ("Years: ", years)

Как и String, List имеет 3 оператора +, * , in.
Оператор | Описание | Пример |
+ | Оператор используется для соединения (concatenate) 2 List, чтобы создать новый List. | [1, 2, 3[ + ["One","Two"] --> [1, 2, 3, "One", "Two"] |
* | Оператор используется для соединения (concatenate) разных копий одного List. И создает новый List. | [1, 2] * 3 --> [1, 2, 1, 2, 1, 2] |
in | Проверяет находится ли элемент в List или нет, возвращает True или False. | "Abc" in ["One", "Abc"] --> True |
listOperatorsExample.py
list1 = [1, 2, 3] list2 = ["One", "Two"] print ("list1: ", list1) print ("list2: ", list2) print ("\n") list12 = list1 + list2 print ("list1 + list2: ", list12) list2x3 = list2 * 3 print ("list2 * 3: ", list2x3) hasThree = "Three" in list2 print ("'Three' in list2? ", hasThree)

Функция | Описание |
---|---|
cmp(list1, list2) | Сравнить элементы обоих списков. Данная функция была удалена из Python3. |
len(list) | Возвращает количество элементов списка |
max(list) | Возвращает элемент с наибольшим значением в списке. |
min(list) | Возвращает элемент с наименьшим значением в списке. |
list(seq) | Ковертирует tuple в список. |
listsFunctionExample.py
list1 = [1991, 1994, 1992] list2 = [1991, 1994, 2000, 1992] print ("list1: ", list1) print ("list2: ", list2) # Возвращает количество элементов списка print ("len(list1): ", len(list1) ) print ("len(list2): ", len(list2) ) # Наибольшее значение в списке (list). maxValue = max(list1) print ("Max value of list1: ", maxValue) # Наименьшее значение в списке (list). minValue = min(list1) print ("Min value of list1: ", minValue) # Tuple tuple3 = (2001, 2005, 2012) print ("tuple3: ", tuple3) # Ковертирует Tuple в List. list3 = list (tuple3) print ("list3: ", list3)

Если элементы списка (list) являются числовым видом, поиск наибольшего и наименьшего значения в списке является понятным. Но если список содержит элементы вида object, они будут сравнены основываясь на правиле по умолчанию Python, или вам нужно дать определенное правило.
Смотрите так же:
- TODO Link!
Метод | Описание |
---|---|
list.append(obj) | Соединяет (append) объект в список. |
list.count(obj) | Возвращает количество появления 'obj' в списке |
list.extend(seq) | Соединяет содержание ряда (sequence) и списка |
list.index(obj) | Возвращает наименьший индекс в списке, в котором находится элемент со значением obj. |
list.insert(index, obj) | Вставляет элемент в список с индексом index. |
list.pop([index]) | Если есть параметр index, удаляет и возвращает элемент в позиции index. Если наоборот, удаляет и возвращает последний элемент в списке. |
list.remove(obj) | Удаляет первый объект со значением obj из списка. |
list.reverse() | Переворачивает элементы в списке |
list.sort(key=None, reverse=False) | Упорядочивает элементы по ключу (key) предоставленный параметрами. |
Пример:
listMethodsExample.py
years = [ 1990 , 1991 , 1992 , 1993 , 1993 , 1993 , 1994 ] print ("Years: ", years) print ("\n - Reverse the list") # Переворачивает список. years.reverse() print ("Years (After reverse): ", years) aTuple = (2001, 2002, 2003) print ("\n - Extend: ", aTuple) years.extend(aTuple) print ("Years (After extends): ", years) print ("\n - Append 3000") years.append(3000) print ("Years (After appends): ", years) print ("\n - Remove 1993") years.remove(1993) print ("Years (After remove): ", years) print ("\n - years.pop()") # Удаляет последний элемент списка. lastElement = years.pop() print ("last element: ", lastElement) print ("\n") # Count print ("years.count(1993): ",years.count(1993) )

Смотрите так же:
- TODO Link!