Руководство Python Lists

1- Python List

В 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)

2- Получить доступ к элементам списка

Доступ к элементам

Используйте цикл  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)

3- Обновить список

Примером ниже является способ обновления списка (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)

4- Удалить элементы в списке

Чтобы удалить один или много элементов в списке (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)

5- Обзор базовых операторов для списка 

Как и 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)

6- Функции для List

Функция Описание
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? 11425

7- Методы

Метод Описание
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? 11425