Корисні методи для роботи зі списками¶
Список є змінним типом даних, тому важливо звернути увагу на те, що більшість методів списку змінюють список на місці, не повертаючи нічого.
append¶
Метод append
додає до кінця списку зазначений елемент:
In [18]: vlans = ['10', '20', '30', '100']
In [19]: vlans.append('300')
In [20]: vlans
Out[20]: ['10', '20', '30', '100', '300']
Метод append змінює список на місці та нічого не повертає. Якщо у скрипті треба додати елемент до списку, а потім вивести список print, треба робити це на різних рядках коду.
Якщо зробити print(vlans.append('300'))
, результатом буде вивід None
.
extend¶
Якщо потрібно об'єднати два списки, можна використовувати два способи: метод extend і операцію складання.
У цих способів є важлива відмінність - extend змінює список, до якого застосовано метод, а додавання повертає новий список, що складається з двох.
Метод extend:
In [21]: vlans = ['10', '20', '30', '100']
In [22]: vlans2 = ['300', '400', '500']
In [23]: vlans.extend(vlans2)
In [24]: vlans
Out[24]: ['10', '20', '30', '100', '300', '400', '500']
Додавання списків:
In [27]: vlans = ['10', '20', '30', '100']
In [28]: vlans2 = ['300', '400', '500']
In [29]: vlans + vlans2
Out[29]: ['10', '20', '30', '100', '300', '400', '500']
Зверніть увагу, що під час підсумовування списків в ipython з'явився рядок Out. Це означає, що результат підсумовування можна присвоїти у змінну:
In [30]: result = vlans + vlans2
In [31]: result
Out[31]: ['10', '20', '30', '100', '300', '400', '500']
pop¶
Метод pop видаляє елемент, який відповідає вказаному індексу і повертає цей елемент:
In [28]: vlans = ['10', '20', '30', '100']
In [29]: vlans.pop(-1)
Out[29]: '100'
In [30]: vlans
Out[30]: ['10', '20', '30']
Без зазначення індексу видаляється останній елемент списку.
remove¶
Метод remove видаляє вказаний елемент. Remove не повертає видалений елемент:
In [31]: vlans = ['10', '20', '30', '100']
In [32]: vlans.remove('20')
In [33]: vlans
Out[33]: ['10', '30', '100']
Якщо вказати неіснуючий елемент, виникне помилка:
In [34]: vlans.remove(500)
-------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-32-f4ee38810cb7> in <module>()
----> 1 vlans.remove(500)
ValueError: list.remove(x): x not in list
index¶
Метод index
повертає індекс, під яким знаходиться вказаний елемент
insert¶
Метод insert
дозволяє вставити елемент на певне місце у списку:
In [37]: vlans = ['10', '20', '30', '100']
In [38]: vlans.insert(1, '15')
In [39]: vlans
Out[39]: ['10', '15', '20', '30', '100']
sort¶
Метод sort сортує список на місці: