Новини високих технологій
» » Програмування на Python: список

Програмування на Python: список

6-12-2017, 23:07
5 267
Python – часто використовуваний мову програмування, простий, красивий, зручний. Працювати з ним одне задоволення. Створювати об'єкти в Python (список, безліч, рядки, файли) досить легко. Головне – розуміти принцип програмування та алгоритмізації.

Поняття списку

Під списком розуміється згруповане безліч, укладена в дужки і є дуже гнучким типом даних. Елементи розділяються комами. Список можна порівняти з тим же масивом в Turbo Pascal або Delphi. З точки зору фізичного розташування подібне згруповане безліч є переліком адрес на його елементи.


Примітно, що в Python список може одночасно містити різні типи даних: цілі і речові числа, рядки, файли і т. д. В інших мовах програмування це неприпустимо.

Створення списків. Як це зробити?

Найпопулярнішим способом створити группированное безліч є генератор. Таким методом певний вираз застосовується до кожного елементу списку. Принцип роботи генератора можна зіставити з циклом FOR.
Можна перетворити в список в Python рядок і навпаки. Для цього потрібно задати тип list для вибраного рядкового виразу. У підсумку перетворюється в рядок группированное безліч літер, укладених в лапки.
Щоб створити більш складний перелік елементів, не рекомендується використовувати генератор списків. Python пропонує організувати цикл FOR. Деякі завдання дозволяють задати список вручну, тобто користувач перераховує в квадратних дужках через кому необхідні йому дані.


Методи списків

В мові Python список володіє такими прийомами, які значно полегшують життя користувачу. Вони називаються методами. Ось перелік частина використовуваних прийомів: List1.append (x) – метод, що дозволяє додати будь-який елемент в кінець списку. List1.extened (list2) – додавання згрупованого безлічі list2 в кінець list1. Якщо говорити простіше, то extend дозволяє об'єднати два списку. List1.insert (i,x) – вставка будь-якого елемента Х на позицію i. Приміром, якщо вставити новий об'єкт на початку списку (а не в кінці, як метод append), адреси всіх компонентів оновлено з урахуванням введеної інформації. List1.remove (x) – видалення компонента Х. Якщо Х таких кілька, то вирізається перший з списку. Якщо зазначений компонент не зустрічається в списку, то програма видає помилку ValueError (x not in list). List1.pop ([i]) – вирізання і повернення елемента на позиції i. Якщо користувач не вказує індекс, то метод видаляє останній компонент. Квадратні дужки необхідні для того, щоб вказати на опціонально параметра, тобто позицію можна пропустити.
List1.index (x, [start],[end]) – повернення адреси комірки першого елемента на проміжку від start до end. Ці параметри можуть вводитися користувачем на запрошення програми. Ще треба уточнити, що індексація починається з 0. Тобто адресу першого елемента дорівнює 0 другого – 1 і т. д. наприклад, мається список Х =[1.78487,5.575,7.364]. Тоді Х[0]= 178487 Х[1]= 5575 Х[2]= 7364. List1.count (x) – повернення кількості компоненту, значення якого дорівнює Х. Цей метод корисний у разі, коли однакових елементів у списку багато, і їх треба порахувати. List1.sort ([key = функция]) – організація сортування списку. За замовчуванням Python виробляє цю операцію за зростанням. Однак можна написати функцію для сортування і вказати параметри, за якими буде відбуватися перестановка компонентів. List1.reverse () – перевертання списку, тобто перший елемент стає останнім, наступний займає позицію другого з кінця і т. д. List1.copy () – копіювання списку. Що потрібно знати при використанні методів? Вони не замінюють список і не присвоюють нове значення іншої змінної.

Вбудовані функції для роботи зі списками

Полегшують життя користувачу і вбудовані функції: Print – висновок на екран різної інформації. В Python 2.7 після зазначеної функції не потрібно брати в дужки дані, у Python 3 це робити обов'язково. Приміром, у Python 2.7 функція буде виглядати наступним чином: print «Кількість місць», kolichestvo (де в лапках зазначено пропозиція-пояснення, а через кому – змінна). В Python 3 організація висновку полягає в наступному: print («Кількість місць», kolichestvo). Відобразити на екрані можна будь-які типи даних. Len(list1) – в Python довжина списку визначає кількість елементів у списку. Min – знаходження мінімального компоненту в списку, незалежно від того, які вони за типом.
Max – висновок максимального елемента в згрупованому множині. Sum – обчислення суми чисел у списку, незалежно від того, речові вони або цілі. Якщо у згрупованому безлічі є рядковий тип даних, то програма видасть помилку TypeError: unsupported operand type(s) for +: 'int' and 'str'. Help – висновок на екран розділу допомоги по конкретному типу даних. Достатньо написати help (int) – для цілих чисел, help (str) – для рядкового типу даних, help (file) – для файлів, і програма видасть довідкову інформацію, в якій можна знайти методи, об'єкти і функції щодо необхідного розділу. Type – показує, до якого типу належить дана змінна. Оформляється наступним чином: text_str = «Привіт» type (text_str) Оператор in. Звичайно, це не функція, але за допомогою нього можна перевірити входження будь-якого елемента в зазначений список.

Сортування списків

Дана мова програмування надає користувачам безліч переваг. Приміром, у Python сортування списку організована просто. На відміну від того ж Turbo Pascal і Delphi, в яких деколи потрібно прописувати десятки рядків для вибудовування елементів масиву в певному порядку, Python достатньо створити функцію в 3-4 рядки.

Кортежі

Як рядки в Python список може бути незмінним об'єктом, інакше кажучи immutable. У такому випадку він називається кортежем, або tuple. Список потребує більше пам'яті для виконання завдання. Кортеж полягає в круглі дужки замість квадратних. Допускається висновок tuple зовсім без дужок. Як було сказано, кортеж – незмінний об'єкт. Не можна конкретною адресою присвоїти значення. Можна скористатися методом append, який додасть в кінець кортежу потрібні дані. Нижче показано, як правильно додавати елементи в tuple.
Якщо використовувати tuple як функцію, то він перетворює рядок у кортеж. Наприклад: tuple ("string") -> ("s","t","r","i","n","g").

Списки і файли

Часто користувачі не знають, як у мові Python список файлів вивести на екран з використанням шляху. Для цього необхідно підключити модуль OS і застосувати метод listdir. Слід звернути увагу, що в Python 3 списки (версії 2.7) os.listdir (path) потрібно замість path вказати шлях до каталогу в лапках. Можна вивести кількість всіх об'єктів в каталозі.

Приклади завдань з рішенням

1. Дан непорожній список. Потрібно вивести на екран індекси елементів списку, якщо їх значення знаходяться у вказаному проміжку. Мінімальне та максимальне значення проміжку задаються користувачем. Індекси знайдених елементів записуються в новий список. Далі потрібно вивести на екран його вміст і довжину. Алгоритм: Заповнення списку List1 рандомным чином (тобто випадковим). Виведення на екран запрошення користувачеві ввести мінімальне та максимальне значення проміжку. Організація циклу, в якому відбувається перебір всіх елементів початкового списку, пошук індексу тих компонентів, які підходять по заданому обмеженню (min Додавання позицій у новий список List2. Висновок на екран List2 і його довжини.
2. Є непорожній список. Потрібно перевірити, чи всі елементи унікальні, і переконатися, що немає повторів. Алгоритм: Створити список. Методом перебору переконатися, що даний елемент і подальший відрізняються один від одного. Якщо з'являється не унікальний компонент, який виводиться на екран напис «Не унікальний». Вихід з програми.

Завдання для самоконтролю

Доповнення до завдання 1. Якщо знайдений елемент з потрібним значенням, він додається в список видаляється з старого. Підказка: використовувати цикл while, функцію len (). Дан непорожній список. Необхідно визначити, чи є сусідні числа однаковими за знаком (позитивні, негативні). Якщо такі елементи списку присутні, потрібно вивести їх на екран, якщо відсутні – не виводити нічого, якщо кілька пар – вивести першу. Створити список. Кількість елементів задає користувач. Потрібно згенерувати список рандомным чином і вивести на екран елементи, що знаходяться на парних позиціях, починаючи з 0.
Створити список. Кількість елементів задає користувач. Потрібно згенерувати список рандомным чином і вивести на екран парні елементи, тобто діляться на 2. Підказка: використовувати цикл FOR. Увага: перебирати потрібно числа, а не індекси. Створити список. Кількість елементів задає користувач. Згенерувати список рандомным чином. Вивести на екран числа, які більше свого попереднього сусіда.
Цікаво по темі
Введення і виведення в Python. Input і print
Введення і виведення в Python. Input і print
Приємне спілкування користувача з Python – одна з багатьох привабливих рис програми. Простота, сучасність, лаконічність і зрозумілість – ось чим
Python - середовище розробки. Python 3 для початківців
Python - середовище розробки. Python 3 для початківців
Python - один з найперспективніших сучасних мов програмування. Він гнучкий і простий, його код прозорий і дуже зрозумілий: от за що багато
JavaScript, масиви: опис
JavaScript, масиви: опис
jаvascript – сучасна мова програмування, він унікальний у частині синтаксису і семантики. Має специфіку...
Мова програмування Python: цикли
Мова програмування Python: цикли
У мові програмування Python (також «Пайтон» або «Пітон») є кілька способів зациклення деякої дії. Основні інструменти реалізації якої-небудь ітерації
Як задається SQL-сортування?
Як задається SQL-сортування?
При роботі з базами даних часто виникає необхідність вивести результат запиту в певному порядку, наприклад, за алфавітом. Для цього в СУБД існує
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.