Робота з вкладеними списками в Python
Python список — це впорядкована колекція об'єктів, яка може містити будь-який тип даних, такий як цілі числа, рядки, і навіть інші списки. Це робить перелік потужною структурою даних, яку можна використовувати для організації та маніпулювання інформацією.
Створення вкладених списків
Вкладений список, або список списків, це конструкція, в якій список містить один або кілька інших списків своїх елементів.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
У наведеному вище прикладі вкладеного списку кожен підсписок містить три елементи. Перший підсписок містить числа 1, 2 та 3, другий – числа 4, 5 та 6, а третій – числа 7, 8 та 9.
Доступ до елементів вкладеного списку
Доступ до елементів вкладеного списку здійснюється за індексами. Спочатку вкажіть індекс зовнішнього списку, а потім внутрішнього.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(nested_list[0]) # Виводить перший підсписок: [1, 2, 3] print(nested_list[ 0][1]) # Виводить другий елемент першого підписку: 2
Ітерація за вкладеними списками
Для ітерації за вкладеними списками можна використовувати вкладені цикли for. Зовнішній цикл проходить за підписками, а внутрішній цикл – за елементами кожного підписку.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] для sublist in nested_list: for item in sublist: print(item) #1 #2 #3 #4 # 5 #6 #7 #8 #9
Зміна вкладених списків
Ви можете змінювати елементи вкладеного списку, звертаючись до них за індексом.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] nested_list[0][1] = 20 # Змінює другий елемент першого підписку на 20 print(nested_list) #[ [1, 20, 3], [4, 5, 6], [7, 8, 9]]
Функції та методи для роботи з вкладеними списками
Ряд функцій та методів Python також працюють із вкладеними списками.
- len() : Повертає кількість підписів у вкладеному списку.
- append() : Додає новий підсписок до кінця вкладеного списку.
- extend() : Додає елементи з одного списку до іншого списку.
- insert() : Вставляє новий підсписок на певну позицію у вкладеному списку.
- remove() : Видаляє перший підсписок у вкладеному списку, який збігається із зазначеним.
Висновок
Вкладені списки – це потужна структура даних у Python, що дозволяє організовувати та маніпулювати інформацією на більш складному рівні. Вони дозволяють створювати більш складні структури даних, такі як матриці, і можуть бути використані для вирішення різних завдань, включаючи аналіз даних, наукові обчислення та багато іншого.
Списки в Python (list), функції та методи списків
Списки Python — це структура даних, яка містить впорядкований набір елементів. Списки можуть містити різні типи даних: це можуть бути цілі, з плаваючою комою, рядкові і т.д. Список - один з найбільш часто використовуваних і універсальних типів даних, що використовуються в Python.
Як створити список
Список створюється шляхом поміщення всіх елементів у квадратні дужки [] , розділених комами.
my_list = [] my_list = [1, 2, 3] my_list = [1, "Hello", 3.4]
У списку також може бути інший список як елемент. Це називається вкладеним списком.
my_list = ["mouse", [8, 4, 6], ['a']]
Списки можна створювати не лише вручну, а й за допомогою функції.
Доступ до елементів списку
Для доступу до елемента у списку можна використовувати наданий йому індекс. Python індекси починаються з 0, і список з 4 елементів буде мати індекс від 0 до 3.
my_list = [8, 'hello', 'привіт', 15.2] my_list[1] # hello my_list[2] # привіт my_list[0] # 8 my_list[0] + my_list[3] # 23.2
Спроба отримати доступ до неіснуючих індексів викликає помилку IndexError.
my_list = [8, 'hello', 'привіт', 15.2] my_list[9] Traceback (найменший останній час): File "", line 1, в IndexError: list index out of range
Індекс має бути цілим числом. Ми не можемо використовувати float або інші типи, це призведе до TypeError.
my_list = [8, 'hello', 'привіт', 15.2] my_list[1.2] Traceback (найменший останній час): File "", line 1, у TypeError:
Доступ до вкладених списків здійснюється за допомогою вкладеної індексації.
my_list = ['test', ['hello', 'привіт'], [3, 6, 1]] my_list[1] # ['hello', 'привіт'] my_list[1][0] # hello my_list[ 1][1] # привіт my_list[2][2] # 1
Негативна індексація
Python може використовувати негативну індексацію. Індекс -1 поверне останній елемент списку, -2 до передостаннього і таке інше. Відмінний спосіб, якщо ви не знаєте довжину списку, і хочете отримати останній елемент.
my_list = [8, 'hello', 'привіт', 15.2] my_list[-1] # 15.2 my_list[-3] # hello my_list[-4] # 8
Зрізи списку
Ми можемо отримати доступ до діапазону елементів у списку за допомогою зрізів: (двокрапка).
Синтаксис зрізів: my_list[start:stop:step]
- start індекс початку зрізу (індекси можуть бути негативними)
- stop індекс кінця зрізу
- step крок
my_list = [8, 'hello', 'привіт', 15.2] #" my_list[1:3] # ['hello', 'привіт'] my_list[2:4] # ['привіт', 15.2] my_list[: -2] # [8, 'hello'] my_list[2:] # ['привіт', 15.2] my_list[:] # [8, 'hello', 'привіт', 15.2]
my_list = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] #" my_list[1:8:2] # ['2', '4', '6', '8'] my_list[::2] # ['1', '3', '5', '7', '9']
Додати/змінити елементи списку
Списки, що змінюються, ми можемо використовувати оператор присвоєння = для зміни елемента або діапазону елементів.
my_list = [8, 'hello', 'привіт', 15.2] #" my_list[1] = 'hi' print(my_list) # [8, 'hi', 'привіт', 15.2] #" my_list[-1] = 'ramziv' print(my_list) # [8, 'hi', 'привіт', 'ramziv']
Зміна діапазону елементів
my_list = [8, 'hello', 'привіт', 15.2] #" my_list[1:3] = [1092, 583] print(my_list) #[8, 1092, 583, 15.2]
Ми можемо додати один елемент до списку за допомогою методу append()
my_list = [8, 'hello', 'привіт', 15.2] #" my_list.append(12) print(my_list) # [8, 'hello', 'привіт', 15.2, 12] #" my_list.append(' сайт') print(my_list) # [8, 'hello', 'привіт', 15.2, 12, 'сайт']
Або додати кілька елементів за допомогою методу extend()
my_list = [8, 'hello', 'привіт', 15.2] my_list.extend([12, 'сайт', 321]) print(my_list) # [8, 'hello', 'привіт', 15.2, 12, ' сайт', 321]
Ми також можемо використовувати оператор + для об'єднання двох списків
old = [2, 3, 5] new = [12, 43, 11] print(old + new) # [2, 3, 5, 12, 43, 11]
Крім того, ми можемо вставити елемент у бажане місце за допомогою методу insert()
my_list = [8, 'hello', 'привіт', 15.2] #" my_list.insert(1, 'магія') print(my_list) # [8, 'магія', 'hello', 'привіт', 15.2] # my_list.insert(3, 0.1) print(my_list) # [8, 'магія', 'hello', 0.1, 'привіт', 15.2]
Видалити елементи списку
Ми можемо видалити один або кілька елементів зі списку за допомогою ключового слова del
my_list = [8, 'hello', 'привіт', 15.2] del my_list[3] print(my_list) # [8, 'hello', 'привіт'] #" my_list = [8, 'hello', 'привіт' , 15.2] del my_list[1:3] print(my_list) # [8, 15.2]
Ми можемо використовувати метод remove() для видалення елемента, або метод pop() для видалення елемента за індексом.
my_list = [8, 'hello', 'привіт', 15.2] my_list.remove('hello') print(my_list) # [8, 'привіт', 15.2] #" my_list = [8, 'hello', 'привіт ', 15.2] my_list.pop(-1) # 15.2 print(my_list) # [8, 'hello', 'привіт']
Ми також можемо використовувати метод clear() для очищення списку.
my_list = [8, 'hello', 'привіт', 15.2] my_list.clear() print(my_list) # []
Методи списків Python
| Метод |
Опис |
| append() |
додає елемент до кінця списку |
| extend() |
додає в кінець списку послідовність, що ітерується. |
| insert() |
вставляє елемент перед зазначеним індексом. Спочатку передається індекс, потім елемент. |
| remove() |
видаляє перший об'єкт зі списку, значення якого дорівнює аргументу |
| pop() |
видаляє елемент за вказаним індексом і повертає його.Якщо індекс не вказано, видаляє та повертає останній елемент |
| clear() |
видаляє всі елементи зі списку |
| index() |
повертає індекс вказаного елемента. Якщо таких елементів кілька, поверне індекс лише першого. |
| count() |
вважає, скільки разів у списку зустрічається переданий аргумент |
| sort() |
сортування списку на місці (список змінюється, а не повертається новий) |
| reverse() |
перевертає список на місці |
| copy() |
робить поверхневу копію списку |