Списки. Властивості списків. Приклади, що демонструють різні властивості списків. Операції len, list
Зміст
- 1. Що таке список у мові програмування Python? Особливості використання списків у Python
- 2. Основні властивості списків
- 3. Приклади створення списків. Створення пустого списку
- 4. Яке призначення операції list?
- 5. Як здійснюється доступ до елементу списку за його індексом? Приклади
- 6. Приклад, що демонструє властивість збільшення/зменшення довжини списку
- 7. Як визначити довжину списку? Операція len. Приклад
- 8. Приклад створення списку, що містить інші складні об’єкти
- 9. Приклад, що демонструє властивість довільної кількості вкладень списків
- 10. Який результат дасть операція присвоювання списків A = B?
- Зв’язані теми
Пошук на інших ресурсах:
1. Що таке список у мові програмування Python? Особливості використання списків у Python
У мові програмування Python список є тип об’єкту, який дозволяє містити об’єкти будь-яких типів: числа, рядки, списки тощо. Іншими словами, список представляє собою запис, в якому об’єднані об’єкти різних типів (числа, рядки, тощо).
Списки є ефективними для програмування задач, в яких потрібно зберігати різні види даних.
В Python порівняно з іншими мовами програмування, робота зі списками є дуже зручною. Щоб реалізувати коректну роботу зі списками в іншій, більш низькорівневій мові програмування (наприклад C), потрібно прикласти чимало зусиль. У Python списки реалізують все необхідне для обробки колекцій даних.
Списки – це об’єкти, які можна безпосередньо змінювати з допомогою операції присвоювання.
⇑
2. Основні властивості списків
Виділяють такі основні властивості списків:
- Списки це послідовності об’єктів довільних типів. Списки – це групи об’єктів довільних типів, які забезпечують позиційне впорядкування елементів за принципом “зліва – направо”.
- Забезпечення доступу до елементу списку за його індексом. У Python є можливість отримати елемент списку з використання операції індексування (див. п. 5). У цьому випадку отримується елемент списку з заданим індексом. Номери індексів в списку починаються з 0. Крім того, можна виконувати витягування зрізів та конкатенацію списків.
- Змінна довжина списків. Кількість елементів (об’єктів) у списку можна змінювати. Іншими словами, списки можна збільшувати та зменшувати (див. п. 6).
- Гетерогенність списків. Під поняттям “гетерогенність списків” розуміється те, що списки можуть містити інші складні об’єкти (див. п. 8).
- Довільна кількість вкладень списків. Списки можуть містити довільну кількість вкладень. Тобто, можна створювати списки зі списків (див. п. 9).
- Списки належать до категорії змінюваних об’єктів. Ця властивість означає, що списки можуть змінюватись безпосередньо. Списки підтримують операції, що дозволяють їх змінювати, а саме: присвоювання за індексами, додавання/видалення елементів за індексами, конкатенація, витягування зрізу.
- Можливість містити масиви посилань на інші об’єкти. Списки можуть містити нуль та більше посилань на інші об’єкти (див. п. 8). Списки можуть містити посилання на об’єкт (об’єкти) у випадку присвоювання цього об’єкту імені змінної чи структури.
⇑
3. Приклади створення списків. Створення пустого списку
Приклад 1. У прикладі демонструється створення списку з допомогою оператора присвоєння, оператора циклу while та оператора конкатенації +.
# Приклади створення списків різними способами # Створення пустого списку L1 = [] # Формування списку з допомогою операції конкатенації + i=0 while i<10: L1=L1+[i] i=i+1 print("L1 = ",L1)
Як видно з програмного коду, в рядку
L1 = []
створюється пустий список
У результаті виконання вищенаведеного коду буде виведено наступний результат
L1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Приклад 2. Створюється список символів з об’єкту типу “рядок”. Рядок складається з символів. Ці символи можуть утворити послідовність, тобто список.
# Приклади створення списків різними способами # Створення списку з об'єкту, який ітерується L = list('abc') # L = [ 'a', 'b', 'c'] print("L = ",L)
У даному прикладі створення рядка
L = list('abc')
можна написати по іншому
L = list("abc")
Після виконання вищенаведеного коду буде виведено наступний результат
L = ['a', 'b', 'c']
Приклад 3. Створюється список з неперервної послідовності цілих чисел.
# Приклади створення списків різними способами # Створення списку з неперервної послідовності цілих чисел L = list(range(1,10)) print("L = ",L) # L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Як видно з коду, для отримання послідовності 1, 2, … 9 використовується операція
range(1,10)
Для створення списку використовується операція
list(range(1,10))
Слово list означає ім’я типу даних “список” і використовується для створення списків.
Результат виконання програми
L = [1, 2, 3, 4, 5, 6, 7, 8, 9]
⇑
4. Яке призначення операції list?
Операція list використовується для створення нової копії списку. Операція list представляє собою ім’я типу даних “список”.
У Python операцію list реалізовано як окремий клас, що містить великий набір методів роботи зі списками. Щоб переглянути перелік методів класу list в Python Shell потрібно набрати
help(list)
Більш детально про використання методів класу list описується в темі:
Нижче наведено приклади створення списків з допомогою операції list
DAYS = list(range(1,8)) # DAYS = [1, 2, 3, 4, 5, 6, 7] SYMBOLS = list("Hello") # ITEMS = ['H', 'e', 'l', 'l', 'o']
⇑
5. Як здійснюється доступ до елементу списку за його індексом? Приклади
Приклад 1. У прикладі створюється список з 3-х елементів різних типів. Потім, по черзі виводяться значення кожного елементу списку.
>>> myList=[2.5, 8, "Hello"] >>> myList[0] # вивести елемент списку з індексом 0 2.5 >>> myList[1] 8 >>> myList[2] 'Hello' >>>
Як видно з прикладу, нумерація елементів списку починається з 0.
Приклад 2. Використання елементу списку у виразі. Важливо, щоб значення елементу списку було коректним в операціях, що використовуються у виразі.
# використання списку у виразі L=[2,3,4] x=5 y=x+L[1] # y=5+3=8 print("y = ",y) LS = ["456", 7, 3.1415] s = "123" s += LS[0] # s="123456" print("s = ", s)
У результаті виконання вищенаведеного коду на екран буде виведено наступний результат
y = 8 s = 123456
Якщо спробувати додати до числа рядок
s = s + LS[1] # додавання до числа рядка - помилка!
то інтерпретатор Python виведе повідомлення про помилку
TypeError: can only concatenate str (not "int") to str
⇑
6. Приклад, що демонструє властивість збільшення/зменшення довжини списку
У прикладі продемонстровано властивість збільшення та зменшення списку A. Збільшення довжини списку виконується у циклі з допомогою операції конкатенації +. Зменшення довжини списку реалізовано двома способами:
- з допомогою циклу while, у якому обчислюється позиція останнього елементу. Кількість елементів у циклі визначається операцією len. Видалення елементу здійснюєтья операцією del;
- з допомогою операції del, в якій задається діапазон елементів списку, що видаляються.
Текст програми наступний:
# Приклади збільшення/зменшення довжини списку # створити список A = [] # сформувати список з 10 елементів з допомогою вводу з клавіатури i=0 while i<10: x = float(input("x = ")) A = A+[x] # збільшення списку i=i+1 print("Вихідний список") print("A = ",A) print("Зменшення списку A на 3 елементи") i=0 while i<3: n = len(A) # взяти довжину списку del A[n-1] # видалити останній елемент списку i=i+1 print("A = ", A) print("Зменшення списку ще на 2 останні елементи") del A[n-3:n-1] print("A = ", A)
Результат виконання програми
x = 1 x = 2 x = 3 x = 4 x = 5 x = 6 x = 7 x = 8 x = 9 x = 10 Вихідний список A = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0] Зменшення списку A на 3 елементи A = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0] Зменшення списку ще на 2 останні елементи A = [1.0, 2.0, 3.0, 4.0, 5.0]
⇑
7. Як визначити довжину списку? Операція len. Приклад
Довжина списку – це кількість елементів списку. Довжина списку визначається операцією len().
Приклад. У прикладі визначається довжина списку з допомогою операції len.
# Визначення довжини списку операцією len A = [ 3.5, 2.8, 'abc', [ 2, 3, False]] length = len(A) print("length = ", length) # length = 4 B = [ "Hello world!" ] length = len(B) print("length = ", length) # length = 1 C = [ 0, 3, 2, 4, 7 ] length = len(C) print("length = ", length) # length = 5
Результат виконання програми
length = 4 length = 1 length = 5
⇑
8. Приклад створення списку, що містить інші складні об’єкти
У прикладі створюється список з іменем D, який містить інші складні об’єкти:
- два списки з іменами A, B;
- кортеж з іменем C;
- рядок з іменем STR.
# Приклад списку, що містить складні об'єкти # оголошуються списки, кортеж та рядок символів A = [] # пустий список B = [ 1, 3, -1.578, 'abc' ] # список з різнотипними об'єктами C = ( 2, 3, 8, -10 ) # кортеж S = "Hello world!" # список, який містить різні складні об'єкти D = [ A, B, C, S ] print("D = ", D)
Виконання програми дасть наступний результат
D = [[], [1, 3, -1.578, 'abc'], (2, 3, 8, -10), 'Hello world!']
⇑
9. Приклад, що демонструє властивість довільної кількості вкладень списків
У прикладі формується список L, який включає два підсписки
# Довільна кількість вкладень списків L = [ [ 'abc', 2.5, 117 ], [ 29, False, 'DEF', "Hello" ] ] # вивід елементів списку print("L[0][1] = ", L[0][1]) # L[0][1] = 2.5 print("L[0][2] = ", L[0][2]) # L[0][2] = 117 print("L[1][0] = ", L[1][0]) # L[1][0] = 29 print("L[1][2] = ", L[1][2]) # L[1][2] = 'DEF'
Результат виконання програми
L[0][1] = 2.5 L[0][2] = 117 L[1][0] = 29 L[1][2] = DEF
⇑
10. Який результат дасть операція присвоювання списків A = B?
Якщо виконати операцію присвоювання списків A = B, то обидва імені будуть вказувати на один і той самий список. Це означає, що зміни в списку B будуть впливати на список A. Так само, зміни в списку A будуть впливати на список B.
Для того, об зі списку A створити інший список B (копію списку A), потрібно використати операцію list.
Наприклад.
# Особливості операції присвоювання = # Створити список A A = list(range(1,10)) # A = [1, 2, 3, 4, 5, 6, 7, 8, 9] # виклик операції присвоєння B = A # Імена B та A вказують на один і той самий список # змінити список B B[3] = 100 # також змінюється список A # Створити копію списку A з допомогою операції list C = list(A) # C = [1, 2, 3, 100, 5, 6, 7, 8, 9] # змінити список C C[3] = 777; # змінюється тільки список C, список A не змінюється print("A = ", A) print("B = ", B) print("C = ", C)
Вищенаведена програма дасть наступний результат
A = [1, 2, 3, 100, 5, 6, 7, 8, 9] B = [1, 2, 3, 100, 5, 6, 7, 8, 9] C = [1, 2, 3, 777, 5, 6, 7, 8, 9]
⇑
Зв’язані теми
⇑