Как вывести список питон

Сегодня я расскажу о таком типе данных, как списки, операциях над ними и методах, о генераторах списков и о применении списков.

Что такое списки?

Списки в Python — упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).

Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list:

Список можно создать и при помощи литерала:

Как видно из примера, список может содержать любое количество любых объектов (в том числе и вложенные списки), или не содержать ничего.

И еще один способ создать список — это генераторы списков. Генератор списков — способ построить новый список, применяя выражение к каждому элементу последовательности. Генераторы списков очень похожи на цикл for.

Возможна и более сложная конструкция генератора списков:

Но в сложных случаях лучше пользоваться обычным циклом for для генерации списков.

Функции и методы списков

Создать создали, теперь нужно со списком что-то делать. Для списков доступны основные встроенные функции, а также методы списков.

Таблица "методы списков"

Метод Что делает
list.append(x) Добавляет элемент в конец списка
list.extend(L) Расширяет список list, добавляя в конец все элементы списка L
list.insert(i, x) Вставляет на i-ый элемент значение x
list.remove(x) Удаляет первый элемент в списке, имеющий значение x. ValueError, если такого элемента не существует
list.pop([i]) Удаляет i-ый элемент и возвращает его. Если индекс не указан, удаляется последний элемент
list.index(x, [start [, end]]) Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end)
list.count(x) Возвращает количество элементов со значением x
list.sort([key=функция]) Сортирует список на основе функции
list.reverse() Разворачивает список
list.copy() Поверхностная копия списка
list.clear() Очищает список

Нужно отметить, что методы списков, в отличие от строковых методов, изменяют сам список, а потому результат выполнения не нужно записывать в эту переменную.

И, напоследок, примеры работы со списками:

Изредка, для увеличения производительности, списки заменяют гораздо менее гибкими массивами (хотя в таких случаях обычно используют сторонние библиотеки, например NumPy).

Список в Python представляет из себя упорядоченную коллекцию однотипных или не однотипных элементов и относится к типу данных list. Это когда в переменную заносится не одно значение, а сразу несколько, в виде списка. По аналогии с другими языками программирования, список очень похож на массив.

Например, нам нужно занести в переменные названия месяцев года. Согласитесь, что создавать отдельную переменную под каждый месяц, неэффективно.

january = январь
february = февраль
march = март
april = апрель

Когда можно создать одну переменную и присвоить ей все элементы списка.

Создать список в Python

Чтобы создать список, нужно переменной присвоить объект, состоящий из элементов. Строчные элементы списка в Python записываются в одинарных или двойных кавычках, через запятую и в квадратных скобках.

Убедимся, что мы действительно создали список.

Элементы с числовым типом данным, пишутся без кавычек.

Читайте также:  Как записать видео с камеры видеонаблюдения

price = [25, 10, 35, 45]

Список может состоять из элементов со смешанным типом данных.

mix = [True, 50, "Доброе утро"]

Вывод списка в Python

print(months)
[‘январь’, ‘февраль’, ‘март’, ‘апрель’]

print(price)
[25, 10, 35, 45]

print(mix)
[True, 50, ‘Доброе утро’]

У списков есть свои методы (операции) работы с элементами списков, рассмотрим наиболее часто используемые.

Добавить элемент в список

Для того, чтобы добавить новый элемент в список, существует метод append(). Вызвать данный метод, можно путем прибавления точки к переменной. В качестве аргумента метод принимает объект, указанный в скобочках и добавляет его в конец списка.

count = [15, 10, 35]
count.append(40)
print (count)
[15, 10, 35, 40] // вывод результата на экран

Вложенные списки

В один список можно добавить другой список.

num = [15, 10, 35]
num.append([1, 2, 3])
print (num)
[15, 10, 35, [1, 2, 3]]

Удалить элемент из списка

Метод pop() удаляет последний элемент из списка.

Понятие индекса в списке

Мы научились добавлять и удалять из списка только последний элемент (если не передается аргумент). Но как быть, если необходимо добавить или удалить второй элемент из списка? В Python все элементы списка, расположены в нумерованной последовательности, где отсчет ведется с нуля. Это значит, что первый элемент в списке имеет индекс 0, второй — индекс 1, третий — индекс 2 и.т.д. В таком случае, зная индекс, мы можем обращаться к нужному элементу списка и производить над ним операции.

a = [3, 4, 5]
print (a[1]) // вывод второго элемента
4 // получили элемент из списка

Метод pop(), удаляет из списка по индексу 1, второй элемент списка. Число 3 вылетает из списка.

Изменить элементы в списке

Как изменить значение первого элемента списка? Получим первый элемент списка по индексу и присвоим ему новое значение.

x = [2, 3, 4]
x[0] = 10
print (x)
[10, 3, 4] // 2 заменилась на 10

Длина списка в Python

Длина списка — это количество элементов в списке, которое может динамически меняться. Как узнать длину списка? Метод len() возвращает длину списка, равную количеству его элементов.

b = [1, 5, 8, ‘volvo’]
d = len(b)
print (d)
4

Объединение списков

Списки можно объединять друг с другом.

[10, 11, 12] + [2, 3]
[10, 11, 12, 2, 3]

Заключение

В языке Python удивительно простой синтаксис, изучать этот язык программирования — приятное занятие. Узнайте из этой статьи, почему Python идеально подходит тем, кто никогда раньше не сталкивался с языками программирования.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2019 Русаков Михаил Юрьевич. Все права защищены.

    Серия контента:

    Этот контент является частью # из серии # статей: Программирование на Python. Часть 3

    Этот контент является частью серии: Программирование на Python. Часть 3

    Следите за выходом новых статей этой серии.

    Читайте также:  Как заменить матрицу на мониторе

    После изучения строк перейдем к спискам — в питоне это один из самых используемых типов данных. Они отдаленно напоминают массивы в Java или C — это тоже упорядоченный список объектов. В частности, аналогию можно провести с массивом в Java — с классом Vector, который способен содержать произвольные объекты. Питоновские списки можно также сравнить с массивами на языке Perl. По своей мощи, гибкости, простоте использования список превосходит аналоги из других языков программирования.

    В этой статье мы рассмотрим следующие темы.

    1. Что такое список.
    2. Операции со списками.
    3. Встроенные функции.
    4. Стек и очередь.
    5. Кортежи (Tuple).
    6. Сеты (Set).
    7. Встроенные функции filter(), map(), zip(), reduce() .

    1. Что такое список

    Для группировки множества элементов в питоне используется список list, который может быть записан как индексированная последовательность значений, разделенных запятыми, заключенная в квадратные скобки. Списки имеют произвольную вложенность, т.е. могут включать в себя любые вложенные списки. Физически список представляет собой массив указателей (адресов) на его элементы. С точки зрения производительности (performance) списки имеют следующие особенности.

    1. Время доступа к элементу есть величина постоянная и не зависит от размера списка.
    2. Время на добавление одного элемента в конец списка есть величина постоянная.
    3. Время на вставку зависит от того, сколько элементов находится справа от него, т.е. чем ближе элемент к концу списка, тем быстрее идет его вставка.
    4. Удаление элемента происходит так же, как и в пункте 3.
    5. Время, необходимое на реверс списка, пропорционально его размеру — O(n) .
    6. Время, необходимое на сортировку, зависит логарифмически от размера списка.

    Элементы списка не обязательно должны быть одного типа. Приведем вариант статического определения списка:

    Как и для строк, для списков нумерация индексов начинается с нуля. Для списка можно получить срез, объединить несколько списков и так далее:

    Можно менять как отдельные элементы списка, так и диапазон:

    Можно сделать выборку из списка с определенной частотой:

    2. Операции со списками

    К операциям мы относим:

    • копирование списка;
    • сложение и умножение списков;
    • итерацию — проход в цикле по элементам списка;
    • конструктор списков (list comprehension);
    • распаковку списка — sequence unpacking.

    Создание копии списка.

    1. L1 = L2[:] — создание второй копии списка. Здесь создается вторая копия обьекта.
    2. L1 = list(L2) — тоже создание второй копии списка.
    3. L1 = L2 — создание второй ссылки, а не копии. 3-й вариант показывает, что создаются две ссылки на один и тот же обьект, а не две копии.

    Сложение или конкатенация списков:

    Умножение, или повтор списков:

    Итерацию списков в питоне можно делать несколькими различными способами:

    • простая итерация списка:
    • сортированная итерация:
    • уникальная итерация:
    • итерация в обратном порядке:
    • исключающая итерация — например, вывести элементы 1-го списка, которых нет во 2-м списке:

    Для генерации списков, кроме статической формы, можно использовать конструктор списков — list comprehension — цикл внутри квадратных скобок — на примере списка квадратов первых 10 натуральных чисел:

    Конструктор может быть условным — найдем квадраты четных натуральных чисел:

    С помощью конструктора решим конкретную задачу — отсортируем слова в предложении в порядке их длительности:

    Операция Sequence unpacking — присваивание списку переменных списка значений:

    3. Встроенные функции

    Списки имеют большой набор функций:

    • append , extend — добавление;
    • insert — вставка;
    • index — найти индекс первого вхождения конкретного элемента;
    • count — подсчет повторов элемента;
    • remove , del — удаление элемента;
    • sort — сортировка;
    • reverse — реверс;
    • pop — извлечение элемента;
    • len — длина списка;
    • max — максимальный элемент;
    • min — минимальный элемент;
    • оператор in — проверка элемента на вхождение.

    Добавлять можно как одинарные элементы, так и набор элементов. Списки могут быть вложенными — вложенный список добавим в конец с помощью append() :

    Читайте также:  Как отсортировать повторяющиеся значения в excel

    Элемент можно добавить в произвольную позицию списка с помощью метода insert :

    Для проверки, является ли элемент членом списка, есть оператор in :

    index() — взять элемент списка по индексу:

    count() — подсчет числа повторов какого-то элемента:

    remove() — удаление конкретного элемента:

    del — удаление по индексу:

    При удалении нужно помнить о том, что нельзя одновременно делать итерацию по списку — последствия будут непредсказуемы.

    sort() — сортировка списка:

    reverse() — реверс списка:

    pop() — извлечение элемента из списка, функция без параметра удаляет по умолчанию последний элемент списка, в качестве параметра можно поставить произвольный индекс:

    len() — длина списка:

    max() — максимальный элемент списка:

    min() — минимальный элемент списка:

    extend() — аналогичен append() , добавляет последовательность элементов:

    4. Стек и очереди

    Список можно использовать как стек — когда последний добавленный элемент извлекается первым (LIFO, last-in, first-out). Для извлечения элемента с вершины стека есть метод pop() :

    Список можно использовать как очередь — элементы извлекаются в том же порядке, в котором они добавлялись (FIFO, first-in, first-out). Для извлечения элемента используется метод pop() с индексом 0 :

    5. Кортежи (Tuple)

    Список так же может быть неизменяемым ( immutable ), как и строка, в этом случае он называется кортеж ( tuple ). Кортеж использует меньше памяти, чем список. Кортеж вместо квадратных скобок использует круглые (хотя можно и совсем без скобок). Кортеж не допускает изменений, в него нельзя добавить новый элемент, хотя он может содержать объекты, которые можно изменить:

    Функция tuple() берет в качестве аргумента строку или список и превращает его в кортеж:

    6. Сеты (Set)

    Сеты — неотсортированная коллекция уникальных элементов. Сеты поддерживают итерацию, добавление и удаление объектов и т.д. Индексация и срезы в сетах не поддерживаются. Сгенерировать сет можно с помощью функции:

    Над сетами можно выполнять разные операции, например:

    Сеты имеют встроенные функции:

    add() — добавление элемента:

    remove() — удаление элемента:

    Сеты можно использовать для фильтрации дублей в коллекциях. Для этого коллекцию нужно сконвертировать в сет, а потом обратно:

    Сеты можно использовать для работы с большими наборами данных:

    допустим, у нас имеются базы данных программистов и менеджеров:

    Найти тех, кто одновременно и программист, и менеджер:

    Найти всех программистов и менеджеров:

    Найти программистов, которые не менеджеры:

    7. Встроенные функции filter(), map(), zip(), reduce().

    filter(function, sequence) возвращает последовательность, состоящую из тех элементов последовательности sequence, для которых function(item) является истиной. Функция применяется для каждого элемента последовательности. Пример: определим простые числа в диапазоне до 100:

    map(function, sequence) возвращает список значений, полученных применением функции function к элементам одной или нескольких последовательностей. Например, создадим список кубов натуральных чисел от 1 до 10:

    Можно перебирать элементы одновременно нескольких последовательностей одной длины:

    zip(sequence) — функция, аналогичная map() в последнем варианте, но может работать с последовательностями разной длины, возвращает список кортежей:

    reduce(function, sequence) возвращает значение, полученное путем последовательного применения бинарной функции function сначала к первым двум элементам последовательности sequence, затем к результату и следующему элементу и т. д. Например, вычислим сумму арифметической последовательности:

    Подведение итогов

    В этой статье были рассмотрены вопросы, связанные с базовым типом Python — списками. Было показано, что этот универсальный инструмент превосходит аналоги из других языков программирования. Большое количество встроенных функций позволяет решать прикладные задачи за минимально короткое время. Типовое разнообразие списков в виде стеков, очередей, кортежей, сетов позволяет охватывать широкий круг алгоритмов. В продолжение цикла мы рассмотрим работу со словарями.

    Код примеров проверялся на версии питона 2.6.

    Adblock
    detector