Python. Методи роботи зі списками. Приклади

Методи роботи зі списками. Приклади


Зміст



1. Яким чином викликати метод для роботи зі списком? Загальна форма

Мова програмування Python надає великий набір методів для обробки списків. Ці методи реалізують майже всі необхідні перетворення чи операції над списками.

Якщо задано список з деяким іменем, то метод обробки цього списку викликається з допомогою загальної форми

ListName.MethodName(parameters)

де

  • ListName – назва списку (об’єкту типу “список”);
  • MethodName – ім’я методу, який викликається;
  • parameters – перелік параметрів, розділених комою ‘ , ‘. Деякі методи не мають параметрів.

Розділювачем між іменем списку та іменем методу є символ ‘ . ‘ (крапка).

 

2. Приклади, що демонструють використання методів класу list при роботі зі списками
2.1. Метод append(). Додавання елементу до списку

Метод append() використовується для додавання елементу до списку. Метод може отримувати тільки один параметр. Параметром методу може бути будь-який об’єкт: число, рядок, список і т.д.
Приклад використання методу append()

# метод append() - додавання елементів до списку
# заданий список
A = [ 2, 3.78, 'abcde', True ]

# додати 1 елемент до списку
A.append(7) # A = [2, 3.78, 'abcde', True, 7]
print("A = ", A)

# сформувати список квадратів чисел від 1 до 10
# з допомогою методу append()
B = []
i = 1;
while i<=10:
    B.append(i*i)
    i=i+1
print("B = ", B)

Результат виконання програми

A = [2, 3.78, 'abcde', True, 7]
B = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

2.2. Метод extend(). Розширення списку

Даний метод дозволяє розширити список. Вхідним параметром методу є інший список, який додається до даного. Список розширення може бути іменованим об’єктом або списком, взятим у квадратні дужки [ ].

Приклад програми, що містить метод extend()

# метод extend() - розширення списку
# задані списки
A = [ 2, 3.78, 'abcde', True ]
B = [ "Hello", 77, 1.84 ]

# розширити список A на список B
A.extend(B) # A = [2, 3.78, 'abcde', True, 'Hello', 77, 1.84]
print("A = ", A)

# сформувати список квадратів чисел від 1 до 10
# з допомогою методу extend()
D = []
i = 1;
while i<=10:
    D.extend([i*i]) # додати список [i*i] до списку D
    i=i+1
print("D = ", D)

Результат виконання програми

A = [2, 3.78, 'abcde', True, 'Hello', 77, 1.84]
D = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

2.3. Метод insert(). Вставка елементу в список в заданій позиції

Метод insert() дозволяє вставити новий елемент в список з заданої позиції. Метод отримує два параметри. Перший параметр – позиція вставки, яка нумерується з 0. Другий параметр – ім’я об’єкту (значення), яке вставляється.
Приклад використання методу insert()

# метод insert() - вставка одиночного елементу в список
# заданий список
A = [ 1, 2, 3, 4, 5]

# вставка в позицію 2 нового числа 777
A.insert(2, 777)

print("A = ", A)

# сформувати список квадратів чисел від 1 до 10
# з допомогою методу insert()
D = []
i = 10;
while i>=1:
    D.insert(0, i*i)
    i=i-1
print("D = ", D)

Результат виконання програми

A = [1, 2, 777, 3, 4, 5]
D = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Метод insert() дозволяє вставляти список в список. Наприклад, якщо у вищенаведеній програмі рядок

A.insert(2, 777)

замінити на рядок

A.insert(2, [777])

то у цьому випадку, список A буде таким

A = [1, 2, [777], 3, 4, 5]

тобто, це є звичайне використання вкладених списків.

 

2.4. Метод index(). Визначення індексу елементу в списку

Метод index() дозволяє отримати значення індексу (позиції) заданого елементу списку. Метод отримує 1 параметр, який є шуканим елементом. Значення індексу, що відповідає першому елементу списку, рівне 0.
Приклад використання методу index()

# метод index()
# заданий список
A = [ 'a', 'b', 'c', 'd', 'e', 'f' ]

t = A.index('c') # t = 'c'

print("t = ", t)

Результат виконання програми

t = 2

Якщо елементу немає в списку, то видається повідомлення про помилку. Наприклад, якщо у вищенаведеному коді рядок

t = A.index('c')

замінити рядком

t = A.index('g') # t = 'c'

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

ValueError: 'g' is not in list

 

2.5. Метод count(). Визначення кількості входжень заданого елементу в списку

Метод count() повертає кількість входжень заданого елементу в списку. Метод отримує один параметр.

# метод count() - кількість входжень заданого елементу в списку
# заданий список
A = [ 'a', 'b', 'c', 'd', 'e', 'f' ]

na = A.count('d') # na = 1

B = [ 1, 3, 5, 3, 2, 4 ]
nb = B.count(3) # nb = 2

print("na = ", na)
print("nb = ", nb)

Результат виконання програми

na = 1
nb = 2

 

2.6. Метод sort(). Сортування списку

Метод sort() використовується для сортування списку. За замовчуванням метод сортує елементи списку у порядку зростання значень. Метод може змінити порядок сортування з допомогою наступних іменованих аргументів:

  • key – аргумент, який дозволяє визначити власну функцію порівняння при виклику методу sort(). Ця функція отримує один єдиний аргумент і повертає значення, яке буде використовуватись в операції порівняння;
  • reverse – аргумент, що використовується для задавання порядку сортування елементів. Якщо reverse=True, то елементи списку сортуються в порядку спадання.

Приклад 1. Використання методу sort() для сортування списку в порядку зростання.

# метод sort() - сортування списку
# заданий список
A = [ 'a', 'f', 'v', 'd', 'n', 'b' ]

# сортування списку
A.sort()

B = [ 1, 3, 5, 10, 2, 8 ]
B.sort()

print("A = ", A)
print("B = ", B)

Виконання програми дасть наступний результат

A = ['a', 'b', 'd', 'f', 'n', 'v']
B = [1, 2, 3, 5, 8, 10]

Для того, щоб використати метод sort() усі елементи списку мають бути або числовими або рядковими. Наприклад, наступний код

# помилка!
C = [ "Hello", "ABC", 7 ]
C.sort()

згенерує помилку

TypeError: '<' not supported between instances of 'int' and 'str'

Приклад 2. Сортування списку в порядку спадання. Для того, щоб список посортувати в порядку спадання, потрібно, щоб значення іменованого аргументу reverse було рівне True. Наведений нижче приклад сортує список C в порядку спадання елементів

# метод sort() - сортування списку
# заданий список
C = [ 2, 3, 1, 5 ]
C.sort(reverse = True) # посортувати в порядку спадання
print("C = ", C)

Результат виконання програми

C = [5, 3, 2, 1]

Приклад 3. Сортування списку з заданим ключем key. У прикладі сортуються рядки, які попередньо приводяться до верхнього регістру: ‘aBc’ => ‘ABC’ функцією upper()

# метод sort() - сортування списку з заданим ключем key
# заданий список рядків
S = [ "aBC", "ABCD", "ab", "ABCC", "DEFf" ]

S2 = list(S) # утворити новий список
S2.sort(key=str.upper) # посортувати з ключем key

S3 = list(S) # ще один список
S3.sort(key=str.upper, reverse=True) # посортувати з аргументами key та reverse

print("S = ", S)
print("S2 = ", S2)
print("S3 = ", S3)

Результат виконання програми

S = ['aBC', 'ABCD', 'ab', 'ABCC', 'DEFf']
S2 = ['ab', 'aBC', 'ABCC', 'ABCD', 'DEFf']
S3 = ['DEFf', 'ABCD', 'ABCC', 'aBC', 'ab']

 

2.7. Метод reverse(). Реверсування списку

Метод reverse() використовується для зміни порядку слідування елементів списку на зворотний.
Приклад використання методу

# метод reverse() - реверсування списку
# задані списки
A = [ 1, 2, 3, 4, 5 ]
B = [ True, 7.78, 2.85, -1000, "bestprog.net" ]

# реверсування списків
A.reverse()
B.reverse()

print("A = ", A)
print("B = ", B)

Результат виконання програми

A = [5, 4, 3, 2, 1]
B = ['bestprog.net', -1000, 2.85, 7.78, True]

 

2.8. Метод pop(). Витягування елементу зі списку

Метод pop() призначений для витягування (видалення) елементу і списку. Метод має 2 реалізації, які відрізняються кількістю отримуваних параметрів:

  • реалізація без параметрів. У цьому випадку витягується останній елемент списку;
  • реалізація з одним параметром. У цьому випадку параметр є індексом елементу, який потрібно витягнути зі списку. Першому елементу відповідає індекс 0.

Приклад використання методу pop()

# метод pop() - зменшення списку
# заданий список

A = [ 5, 3.8, True, False, "ABCD" ]

# видалити останній елемент
A.pop() # A = [5, 3.8, True, False]

print("A = ", A)

# видалити елемент з індексом 1
A.pop(1) # A = [5, True, False]

print("A = ", A)

Результат роботи програми

A = [5, 3.8, True, False]
A = [5, True, False]

 

2.9. Метод remove(). Видалення заданого елементу зі списку

Метод remove() видаляє заданий елемент зі списку. Якщо у списку декілька елементів з вказаним значенням, то видаляється перше входження заданого елементу.

Приклад використання методу remove()

# метод remove()
# заданий список
A = [ 5, 3.8, True, 3.8, True, False, "ABCD" ]

# видалити перший елемент, який рівний True
A.remove(True)

# видалити перший елемент, який рівний 3.8
A.remove(3.8)

print("A = ", A)

Результат роботи програми

A = [5, 3.8, True, False, 'ABCD']

 


Зв’язані теми