common python list methods with syntax
Підручник пояснює синтаксис та використання загальних методів списку Python, таких як додавання до списку, сортування списку, вискакування, додавання, копіювання, видалення, зворотне використання тощо:
Списки Python використовуються не просто для зберігання даних. При правильному використанні існують потужні структури даних. Однак ми не можемо ефективно їх використовувати, якщо не знаємо про їх методи.
Хоча Python має деякі вбудовані функції, які можуть працювати зі списками, списки Python мають методи, які можуть бути використані для роботи з його об'єктом списку як на місці, так і не на місці.
=> Перевірте ВСІ підручники з Python тут
Що ви дізнаєтесь:
- Поширені методи списку Python
- Висновок
Поширені методи списку Python
Перш ніж ми вникнемо у загальні методи списку, важливо зрозуміти декілька характеристик списку Python.
- Список Python - це сукупність нульових до нескінченних (стільки, скільки дозволяє ваш комп'ютер) типів даних ( числа , Струни , логічні , кортежі , списки , тощо), оточені квадратними дужками, кожен елемент відокремлений комою (,).
- Список Python - це замовляв , змінний послідовність і використовує нумерація на нульовій основі система, тобто всі її елементи однозначно ідентифікуються номером індексу, який починається від 0 і закінчується на n-1, де n - довжина списку.
Маючи це на увазі, ми можемо впевнено заглибитися у розгляд методів списку Python. Важливо знати, що список Python має багато методи і Python має безліч вбудованих методів роботи з даними списку для різних цілей.
Примітка :Просуваючись далі, усі приклади в цьому посібнику будуть запускатися безпосередньо з оболонки Python, якщо не зазначено інше.
Метод додавання
Перш ніж починати виконувати операцію зі списку, ми можемо спочатку додати до неї дані. Список Python має наступні загальні методи додавання елементів до свого списку.
# 1) list.append (x)
додати () метод приймає елемент як аргумент і додає його в кінці списку.
Як видно вище, списки Python упорядковані. Отже, важлива позиція кожного пункту у списку. Якщо ми додаємо елемент до списку і хочемо, щоб це був останній елемент у цьому списку, тоді додаток () - це те, що нам потрібно.
Приклад 1 :У наведеному нижче коді наш список містить ім'я (Рядок) як перший елемент і вік (число) як другий пункт. Ми хочемо додати третій пункт зарплата (номер) до списку таким, який ми маємо
list(name, age, salary)Нижче наведено покрокову інструкцію з оболонки Python.
>>> name = 'Enow Kevin' # define a name >>> age = 30 # define an age >>> details = (name, age) # create a list with name and age >>> details ('Enow Kevin', 30) >>> salary = 165000 # define a salary >>> details.append(salary) # add the salary to the end of the list >>> details ('Enow Kevin', 30, 165000) >>> list.append (x ) є подібним до до (len ( до ):) = (x).
Розглянемо приклад нижче:
Давайте додамо четвертий пункт Стать (Рядок) до нашого списку деталей, визначеного вище.
>>> gender = 'Male' # define a gender >>> details(len(details):) = (gender) # add gender to the end of the list >>> details ('Enow Kevin', 30, 165000, 'Male') >>> Примітка :У наведеному вище прикладі ми використовували лен (), яка є вбудованою функцією Python, яка може працювати у списку.
# 2) list.extend (ітерабельний)
подовжити (iterable) бере в ітерабельний як аргумент, і додайте кожен елемент у цьому ітерації до списку.
Цей метод використовує додати ( ) під капотом. Цей метод чудово підходить, якщо у нас є колекція предметів, які ми хочемо додати кожен елемент до іншого списку.
Приклад 2 :Скажімо, у нас дві академічні оцінки студентів класНаука і gradeArt і ми вирішили виконати загальну операцію з оцінками. Одним із способів буде спочатку приєднатися до них.
Нижче наведено покрокове керівництво оболонкою Python.
>>> gradeScience = (4,3,9,10) # grades in science >>> gradeArt = (9,11,7,5) # grades in art >>> gradeArt (9, 11, 7, 5) >>> gradeArt.extend(gradeScience) # join grades >>> gradeArt # we can now perform the operation on the joined grades (9, 11, 7, 5, 4, 3, 9, 10) Те саме можна досягти за допомогою “ додати () в петля ” . Враховуючи, що подовжити () бере метод iterable і додає кожен елемент цього iterable до списку, ми можемо використовувати a для циклу продемонструвати, як це працює.
def extend_loop(extender, extended): '''for each item in the extender list, append the item into the extended list''' for item in extender: extended.append(item) if __name__ == '__main__': gradeScience = (4,3,9,10) # grades in science gradeArt = (9,11,7,5) # grades in art print('gradeArt: {} before extended'.format(gradeArt)) # join gradeScience and gradeArt into gradeArt extend_loop(gradeScience, gradeArt) print('gradeArt: {} after extended'.format(gradeArt)) Вихідні дані

Важливо знати різницю між додати (x ) і розширити (ітерабельно) .
Різниця між методами списку Python: append та iterable.
| # | додати (x) | розширити (ітерабельно) |
|---|---|---|
| 1 | Бере в один аргумент і може бути ітераційним | Бере в одному аргументі і повинен бути ітеративним |
| два | Додає елемент до списку | Додає кожен елемент ітеративного файлу до списку. |
Приклад 3 :Щоб чітко побачити різницю між додаванням та розширенням, розглянемо цей приклад. Ми помічаємо, що обидва listApp і listExt взяти ітерацію як аргумент, але те, що змінюється, це результат.
>>> listApp = () # empty list >>> listExt = () # empty list >>> listApp.append((1,2,3)) # append an iterable >>> listExt.extend((1,2,3)) # extend an iterable >>> listApp # check output ((1, 2, 3)) >>> listExt # check output (1, 2, 3) Метод Python додати () взяв ітерабель, розглянув його як елемент і додав у кінець списку, поки метод Python розширити () взяв ітерабель і додав кожен елемент ітерації до списку.
# 3) list.insert (i, x)
Метод списку Python вставити () бере два аргументи (позиція, елемент) і вставляє елемент у задану позицію у списку.
Метод вставити () корисний, коли ми хочемо додати елементи до списку та мати контроль над тим, де саме ми хочемо, щоб елементи були додані до списку. На відміну від додати () і розширити () що додають елементи в кінці списку, вставити () дозволяє додавати елементи в будь-якому положенні, яке ми хочемо.
Приклад 4 :Скажімо, у нас є список імен у порядку досконалості, і ми згодом з’ясовуємо, що ми пропустили ім’я, і це ім’я, як передбачається, буде додано до списку перед даним іменем. У цьому випадку обидва додати () і розширити () не допоможе, оскільки ми хочемо додати предмет у певному положенні.
Рішенням буде отримання позиції індексу імені, перед яким ми хочемо додати нове ім’я та використовувати вставити () додати його в цій позиції.
>>> names = ('kevin','john','petter','tony','luke','andrew')# list of names >>> new_name = 'enow' # new name to be insert into the list of names >>> given_name = 'tony' # name before which to insert our new name >>> idx_given_name = names.index(given_name) # get index of given name >>> idx_given_name 3 >>> names.insert(idx_given_name, new_name) # insert new name >>> names ('kevin', 'john', 'petter', 'enow', 'tony', 'luke', 'andrew') Примітка: У наведеному вище прикладі ми використовували метод списку Python індекс (), щоб отримати позицію індексу елемента зі списку ( про це пізніше ).
Поняття вставити (індекс, х) дуже важливо зрозуміти. Перший аргумент - індексна позиція елемента, перед яким слід вставити.
Що означає, що список .insert (0, x) вставить x перед елементом з індексом 0 та список . вставити (лише ( список ), х ) вставить x у кінці списку (подібно до list.append (x)) перед позицією в індексі лен (список) (цей індекс не існує для жодного списку)
Метод віднімання
У Python, наскільки ми можемо додавати елементи до списку, списки Python також дозволяють нам видаляти або видаляти елементи зі списків.
# 1) list.pop ((i))
поп () метод видаляє та повертає елемент зі списку. Цей метод може взяти необов’язкове значення індексу як аргумент (представлене квадратною дужкою навколо i у підписі методу, який позначає „необов’язково”, а не список), що позначає позицію індексу, звідки слід видалити елемент.
Якщо жодного не вказано, то за замовчуванням значення -1, тобто останній елемент списку буде видалено та повернуто.
Приклад 5 :Враховуючи список автомобілів нижче, ми можемо вирішити вилучити елементи з цього списку в будь-якій позиції індексу, яку ми хочемо, завдяки поп ()
>>> cars = ('Toyota','Audi','BMW','Bugatti','Bently','Aston Martin') #cars >>> cars ('Toyota', 'Audi', 'BMW', 'Bugatti', 'Bently', 'Aston Martin') >>> toyota = cars.pop(0) # remove and return car at index 0 >>> cars ('Audi', 'BMW', 'Bugatti', 'Bently', 'Aston Martin') >>> toyota 'Toyota' >>> bugatti = cars.pop(2) # remove and return car at index 2 >>> cars ('Audi', 'BMW', 'Bently', 'Aston Martin') >>> bugatti 'Bugatti' >>> aston_martin = cars.pop() # remove and return the last car in the list(at index -1) >>> cars ('Audi', 'BMW', 'Bently') >>> aston_martin 'Aston Martin' # 2) list.remove (x)
Метод списку Python видалити (x) видаляє перше входження елемента, що дорівнює x.
Метод видалити () корисно, коли ми хочемо вилучити елемент зі списку, але нам все одно про елемент і ми не знаємо, де саме він знаходиться у списку.
Приклад 6 :У нас є список книг, і ми хочемо вилучити певну книгу за назвою зі списку, оскільки вона нам більше не потрібна.
>>> books = ('python for beginners','python in a nutshell','python in action') # list of books >>> books ('python for beginners', 'python in a nutshell', 'python in action') >>> book_to_remove = 'python in a nutshell' # book to be removed >>> books.remove(book_to_remove) # remove book >>> books ('python for beginners', 'python in action') Примітка: Якщо предмет передано видалити () як аргумент, але його немає в списку, a ValueError піднімається. Отже, цей метод завжди слід викликати всередині a спробуй-крім обробляти виняток.
Ми можемо побачити декілька відмінностей між методами поп () і видалити () як показано нижче:
| # | поп () | видалити () |
|---|---|---|
| 1 | Приймає необов’язковий аргумент і повинен бути позицією індексу елемента, який потрібно видалити. Якщо індекс виходить за межі діапазону, піднімається IndexError | Приймає аргумент і повинен бути елементом для видалення. Якщо елемент відсутній у списку, виникає значення ValueError |
| два | Видаляє елемент зі списку та повертає його. | Видаляє елемент зі списку, але не повертає його. |
# 3) list.clear ()
Метод списку Python ясно () видаляє всі елементи зі списку, тим самим роблячи його порожнім. Не потрібно аргументів.
Цей метод корисний для повторного присвоєння об'єкту списку нових значень.
Приклад 7 :У нас є список, що містить колекцію імен, але ми хочемо замінити імена новими. У цьому випадку ми спочатку очищаємо попередні імена, роблячи об’єкт списку порожнім, а потім додаємо наші нові імена одним із різних методів списку Python для додавання, яке ми бачили вище.
>>> names = ('enow','kevin','eyong') # our collection of names >>> names.clear() # clear the list object >>> names () >>> names.extend(('ayamba','derrick','fred')) # add new names with the extend() method >>> names ('ayamba', 'derrick', 'fred') Примітка :Ми можемо досягти того самого, за допомогою з список (:).
Багато хто може стверджувати, що замість використання ясно (), чому б нам просто не перепризначити список із таким порожнім списком
>>> a = (4,5,3) # list object containing numbers >>> a= () # re-assign to an empty list >>> a () Ну ось проблема в цьому. Якщо у вас є дві змінні ( до і b ), які посилаються на об'єкт списку ((4,5,3)), викликаючи clear () для будь-якої зі змінних (скажімо до ) видалить елементи з цього об’єкта списку, на який посилаються.
Однак, якщо ви повторно призначите будь-яку зі змінних (скажімо до ) з порожнім списком, а потім тим, якому було призначено повторно ( до ) більше не буде посилатися на той самий об'єкт списку, що і b .
>>> a = (4,5,3) # define a list object with numbers >>> b = a # assign 'a' to a new variable 'b' >>> b (4, 5, 3) >>> a = () # re-assign 'a' to an empty list. This changes its referenced object >>> a () >>> b # 'b' doesn't change because it doesn't reference the same list object as 'a' (4, 5, 3) Методи аналізу
Здебільшого ми хочемо знати та розуміти елементи об’єкта нашого списку. Список Python має кілька методів, якими ми можемо скористатися для розуміння його елементів.
# 1) list.index (x (, початок (, кінець)))
Метод списку Python індекс (x) повертає нульовий індекс у списку першого елемента, значення якого дорівнює x. Потрібно один обов’язковий та два необов’язкові аргументи. Перший аргумент (x) представляє елемент, для якого ми хочемо знайти його індекс.
компілятор c ++ для затемнення
Останні два аргументи (початок, кінець ) визначити початковий і кінцевий (ексклюзивний) індекс, за яким здійснюватиметься пошук. На відміну від інших мов програмування, таких як JavaScript, де його еквівалентний метод indexOf () повертає -1, коли такого елемента немає, метод списку Python індекс () замість цього викликає ValueError.
Приклад 8 :Довідково Приклад 4 де ми використовували індекс (), щоб отримати позицію індексу імені у списку імен. У цьому прикладі 8 ми побачимо, як використовувати необов’язкові аргументи, щоб обмежити пошук певною послідовністю списку.
>>> fruits = ('Apples','Avocados','Eggfruit','Apples','Cantaloupe','Cucumbers') # list of fruits >>> fruits.index('Apples',1,3) # find index of 'Apples' from index 1 to index 3(exclusive) Traceback (most recent call last): File '', line 1, in ValueError: 'Apples' is not in list >>> fruits.index('Apples',1,4) # find index of 'Apples' from index 1 to index 4(exclusive) 3 >>> fruits.index('Cucumbers',3) # find index of 'Cucumbers' from index 3 to end of list. 5 # 2) list.count (x)
Метод списку Python рахувати (x) використовується, щоб визначити, скільки разів даний елемент x відображається у списку.
На відміну від набори () , Списки Python можуть містити повторювані елементи, якщо нам цікаво дізнатися про ці дублікати та визначити, скільки разів продубльовано елемент, то рахувати () - це шлях.
Приклад 9 : Скажімо, у нас є об’єкт списку, який містить імена сенаторів на основі їхніх голосів. Чим більше за сенат голосують, тим більше його ім’я з’являється в об’єкті списку. Тепер ми хочемо з’ясувати, скільки голосів має той чи інший сенат.
>>> senate_votes = ('Tammy','John','Tammy','Tammy','Thomas','Maria','Maria') # list of senate names based on their votes >>> senate_votes ('Tammy', 'John', 'Tammy', 'Tammy', 'Thomas', 'Maria', 'Maria') >>> tammy_votes = senate_votes.count('Tammy') # get tammy's vote count >>> tammy_votes 3 >>> thomas_votes = senate_votes.count('Thomas') # get thomas's vote count >>> thomas_votes 1 >>> mike_votes = senate_votes.count('Mike') # get mike's vote count >>> mike_votes 0 Примітка :Метод списку Python рахувати () повертає нуль (0), якщо елемент не відображається у списку.
# 3) list.sort (ключ = None, зворотний = False)
Метод списку Python сортувати () сортує дані списку на місці. Він бере два аргументи ключових слів.
- ключ ( за замовчуванням немає ) : Він визначає функцію одного аргументу, що використовується для вилучення елементів зі списку, та готує їх для порівняння. Наприклад, якщо у нас є список позитивних чисел, але ми хочемо, щоб наша функція сортування сортувала їх від’ємні значення, ми можемо використовувати цей ключ для досягнення цього.
- зворотний( за замовчуванням False ) : Це логічне значення, і якщо встановлено значення True, воно буде сортуватися за спаданням. Його значення за замовчуванням має значення False, отже воно сортується за зростанням.
Приклад 10 :У нас є список чисел, і ми хочемо знати найбільше число в цьому списку.
>>> numbers = (4,34,6,1,0, 9,33,82,2) # list of numbers >>> numbers (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_numb = numbers.copy() # make a copy to work with >>> sort_numb.sort(reverse=True) # sort in descending order >>> sort_numb (82, 34, 33, 9, 6, 4, 2, 1, 0) >>> sort_numb(0) # get the first item which is the largest number 82 Примітка: Ми використовували метод списку Python копію () зробити неглибоку копію нашого списку ( Про це далі).
Приклад 11: Щоб продемонструвати використання ключа, відсортуємо негативне значення елементів у списку.
>>> numbers # list of num (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_neg_numb = numbers.copy() # make a copy to work with >>> sort_neg_numb (4, 34, 6, 1, 0, 9, 33, 82, 2) >>> sort_neg_numb.sort(key=lambda x: -x, reverse=True) # sort in descending order the negative value of each item. >>> sort_neg_numb (0, 1, 2, 4, 6, 9, 33, 34, 82) >>> З наведеного вище результату ми бачимо, що хоча ми сортували за спаданням, висновок має зростаючий порядок. Це пояснюється тим, що наша лямбда-функція в основному зробила це таким чином, що було проведено порівняння негативних значень кожного елемента у списку.
Примітка :Оскільки ключ визначає функцію одного аргументу, ми використовували a лямбда-вираз для визначення анонімної функції. Все, що він робить, це повертає від’ємне значення кожного елемента у списку.
Інші методи
У цьому розділі ми розглянемо деякі методи списку Python, які можуть не входити до жодної з описаних вище категорій.
# 1) list.copy ()
Метод Python копію () повертає a неглибокий копія списку. Дрібний означає, що він робить копію лише першого рівня списку ( про це пізніше ).
Цей метод корисний для збереження вихідних значень списку перед зміною списку. Як ми бачили в Приклад 7 вище, просто присвоєння змінної, яка посилається на об’єкт списку на іншу змінну, не створює нового об’єкта. Швидше, дві змінні будуть посилатися на один і той же об’єкт.
Отже, зміна одного призведе до зміни іншого.
Приклад 12 :Довідкові приклади 10 і одинадцять щоб побачити, як був використаний цей метод.
Примітка :Цікаво знати, що цього ж можна досягти і за допомогою нарізка ( до (:))
Приклад 13 :Щоб краще зрозуміти значення неглибокий в описі копію (), розглянемо приклад нижче.
>>> list1 = (1,2,3) # object list 1 >>> list2 = (0,list1) # object list 2 containing reference to list 1 >>> list2 (0, (1, 2, 3)) >>> list2_copy = list2.copy() # make a shallow copy of list 2 >>> list2_copy (0, (1, 2, 3)) >>> list2(0) = -1 # modify list 2's first level item >>> list2 (-1, (1, 2, 3)) >>> list2_copy # list 2's copy doesn't change (0, (1, 2, 3)) >>> list1(0) = 'a' # modify list 1 >>> list1 ('a', 2, 3) >>> list2 # list 2 changes since it has reference to list 1 (-1, ('a', 2, 3)) >>> list2_copy # list 2's copy changes because the nested list ‘list 1’ wasn't copied. (0, ('a', 2, 3)) >>> Наведений приклад демонструє, що поверхневе копіювання означає, що будь-який вкладений ітерабель у списку не буде скопійований.
# 2) list.reverse ()
Метод списку Python зворотний () змінює елементи списку на місці. Для цього не потрібні аргументи.
Цей метод корисний, коли ми хочемо змінити впорядкування на зростаюче або спадне після сортування.
Приклад 14 :Ми відсортували наш список у порядку зростання, а потім пізніше, ми хочемо отримати порядок зменшення відсортованого списку. Ми також можемо використовувати метод списку Python сортувати () і встановити зворотний до True, або ми могли б використовувати зворотний () метод списку, як показано нижче.
>>> numbs = (3,4,1,8,0,44,5) # our list of disordered numbers >>> numbs (3, 4, 1, 8, 0, 44, 5) >>> numbs.sort() # sort, in ascending by default >>> numbs (0, 1, 3, 4, 5, 8, 44) >>> numbs.reverse() # reverse to arrange in descending order >>> numbs (44, 8, 5, 4, 3, 1, 0) >>> Поширені запитання
Q # 1) Як мені щось видалити зі списку на Python?
Відповідь: Ми можемо видаляти елементи зі списку кількома способами, використовуючи методи списку Python та вбудовану в Python функцію del.
- Видаліть за допомогою list.remove (x) : Це видалить елемент x зі списку.
>>> a = (4, 3, 6, 1) # our list of numbers >>> a (4, 3, 6, 1) >>> a.remove(3) # remove item '3' from the list >>> a (4, 6, 1) >>> - Видаліть за допомогою list.pop ((i)) : Використовується для видалення та повернення елемента в будь-якій позиції у списку. Якщо позиція індексу не вказана, вона видаляє елемент у кінці списку.
>>> a = (4, 3, 6, 1) # our list of numbers >>> a.pop() # remove the last item in the list 1 >>> a (4, 3, 6) >>> a.pop(1) # remove the item at index position 1 3 >>> a (4, 6) >>> - Видаліть за допомогою list.clear () : Це призведе до видалення всіх елементів зі списку.
>>> a = (4, 3, 6, 1) # list of numbers >>> a (4, 3, 6, 1) >>> a.clear() # delete all items >>> a () - Видаліть за допомогою з : Вбудовану в Python функцію del можна використовувати для видалення елементів зі списку.
>>> a = (4, 3, 6, 1) # list of numbers >>> a (4, 3, 6, 1) >>> del a(0) # delete item at index 0 >>> a (3, 6, 1) >>> del a(1) # delete item at index 1 >>> a (3, 1) >>> del a(:) # delete all items. Same as clear() >>> a () >>> Q # 2) Як впорядковувати список у Python?
Відповідь: Для сортування списків у Python ми можемо використовувати метод списку Python сортувати (). Цей метод сортує список за місцем і бере два аргументи ключового слова key і зворотний .
зворотний Ключове слово можна встановити для сортування за зростанням або за спаданням. Крім того, ми можемо використовувати вбудовану функцію Python відсортовані (). Однак це не сортує на місці.
Q # 3) Чи можете ви додати кілька елементів до списку на Python?
Відповідь: Ми можемо додати кілька елементів до списку, використовуючи метод списку Python append () у петля , де ми прокручуємо ітерабель і додаємо кожен елемент до списку.
def append_loop(): list1 = (0,1,2,3) # list 1 list2 = (4,5,6,7) # list 2 # iterate through ‘list 2’ using ‘for loop’, and append each item to list1 for item in list2: list1.append(item) print('Concatenated list is {}'.format(list1)) if __name__ == '__main__': append_loop() Вихідні дані

Ми також можемо додавати кілька елементів, використовуючи метод списку Python подовжити (). Це працює як ' додати () в для циклу ”, Як ми бачили вище.
>>> list1 = (0,1,2,3) # list 1 >>> list2 = (4,5,6,7) # list 2 >>> list1.extend(list2) # append each item in list2 into list1 >>> list1 (0, 1, 2, 3, 4, 5, 6, 7) >>> Як варіант, ми могли б об’єднатись за допомогою оператора +. Однак це не працює на місці . Це означає, що він поверне об'єднаний список, поки оригінальні списки залишаться незмінними.
>>> list1 = (0,1,2,3) # list 1 >>> list2 = (4,5,6,7) # list 2 >>> list3 = list1 + list2 # concatenate using the + operator >>> list3 (0, 1, 2, 3, 4, 5, 6, 7) >>> Висновок
У цьому підручнику ми пройшли деякі поширені методи списку Python, такі як додати, розширити, вставити, видалити, видалити, очистити, індексувати, підрахувати, скопіювати, і зворотний .
Ми також бачили кілька прикладів того, як застосовувати ці методи в різних ситуаціях.
=> Завітайте сюди, щоб побачити навчальну серію Python для всіх
Рекомендована література
- Підручник із прикладами Python DateTime
- Функції списку Python - Підручник із прикладами
- Підручник з Python для початківців (практичне БЕЗКОШТОВНЕ навчання з Python)
- Підручник із розширеного списку Python (Сортування списку, зворотне, індексування, копіювання, приєднання, сума)
- Методи списку Java - Список сортування, Містить, Список Додати, Видалити список
- Змінні Python
- Список Python - Створення, доступ, нарізка, додавання або видалення елементів