Робота із списками.

Порівняння списку та словника.

python requests

Посилання на документацію

Визначення списків.

Списки - структури різних елементів, що перераховуються, укладені в [] і розділені комою.

Здебільшого списки використовуються у циклах.

Створення списків

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5];
list3 = ["a", "b", "c", "d"]

Створення за допомогою списків генераторів.

[вираз for змінна in послідовність умова]

lst = [i for i in range(30) if i % 3 == 0]


[i for i in range(30) if i % 3 == 0]

Доступ до елементів списку, зрізи.

print(list1[0])
print(list2[1:5])
print(1:)

Зріз із кроком

s = [1,2,3,4,5,6,7,8]
d = s[1:7:2]

Вставте список замість зрізу.

A = [1, 2, 3, 4, 5]
A[2:4] = [7, 8, 9]

Основні методи роботи зі списками.

Змінити список.

Присвоєнням.

list = ['physics', 'chemistry', 1997, 2000];
print list[2] 
list[2] = 2001;
print list[2]

Додавання елементів.

lst.append(element)

Видалення елементів.

del list1[2];

Отримання інформації про список

len(list) # загальна кількість елементів

max(list) # максимальний елемент


min(list) # мінімальний елемент

Додавання.

[1, 2, 3] + [4, 5, 6]   [1, 2, 3, 4, 5, 6]

множення.

['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!']

Перевірка існування елемента.

3 in [1, 2, 3]

Ітерація за списком.

for x in [1, 2, 3]: print x

Вбудовані функції для списків.

Порівняння списків

cmp(list1, list2)

Створення списку з кортежу.

list(seq)

Створення списку з кортежу.

list.append(obj) #додавання нового елемента до кінця списку

list.count(obj) # повертає кількість повторень елемента у списку


list.extend(seq) # додає новий список на кінець (розширює)


lst = [1,2,3]
lst.extend([4,5,6])
print lst
>> [1, 2, 3, 4, 5, 6]

Знаходження індексу елемента.

list.index(obj)


[1, 2, 3, 4, 5, 6]
>>> print lst.index(2)
1
>>> print lst.index(4)
3
>>> print lst.index(44)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 44 is not in list


list.insert(index, obj) # вставляє елемент у потрібну позицію всередину списку


list.pop() # повертає останній об'єкт видаляючи його зі списку


list.remove(obj) #просто видаляє об'єкт зі списку


list.reverse() # перевертає порядок елементів

Перетворення списку на рядок з роздільником.

‘розділювач’.join(list)

Перетворення рядка на список по роздільнику.

'розділювач'.join(list)

Сортування списків.

list.sort([func])

Сортує список, застосовуючи функцію до сусідніх елементів.

Якщо функція повертає 1, змінює елементи місцями і йде спочатку.

lst = [2,4,7,3,9]

def compare(it1,it2):
    if it1>it2:
        return 1
    else:
        return -1

lst.sort(compare)
print lst

Compare functions specifies a custom comparison function of two arguments (list items) which should return a negative, zero or positive number.

[('c', 4), ('b', 2), ('a', 3)] => [('c', 4), ('a', 3), ('b', 2)]

lst = [('c', 4), ('b', 2), ('a', 3)]

def letter_cmp(a, b):
    if a[1] > b[1]:
        return -1
    elif a[1] == b[1]:
        if a[0] > b[0]:
            return 1
        else:
            return -1
    else:
        return 1

lst.sort(letter_cmp)
print lst