<MyRusakov.ru />

Программирование на C++ с Нуля до Гуру

Программирование на C++ с Нуля до Гуру

Данный курс научит Вас программировать на языке C++, который, несмотря на свой почтенный возраст, необычайно сильно востребован. Курс состоит из 6 разделов, посмотрев которые и выполнив все упражнения, Вы с нуля освоите этот язык и сможете создавать самые разные проекты любой сложности на C++.

Для закрепления материала из уроков к ним идёт множество упражнений.

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

Также вместе с курсов Вы получаете Бонус "Программирование на C++ в Unreal Engine", в котором Вы научитесь создавать игры на C++ с использованием этого движка.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Способы слияния списков в Python

Способы слияния списков в Python

Доброго времени суток! В этой статье мы рассмотрим разные способы объединения списков в Python.

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

Итак, перейдем непосредственно к рассмотрению примеров.

Самый простой способ объединить списки Python - это использовать либо распаковку списка, либо простой оператор +.

Давайте сначала рассмотрим использование оператора +, поскольку он намного проще и понятнее:


# способ №1 - оператор +

items1 = ['сайт', 'мой', 'работает', 'нормально']
items2 = ['что', 'такое', 'python']
items3 = items1 + items2

print(items3)

Здесь мы видим, что когда мы распечатываем третий список, он содержит значения из первого и второго.

Аналогично, мы можем создать новый список, распаковав все элементы из списков, которые хотим объединить. Используя оператор *, мы можем получить доступ ко всем элементам в обоих списках и распаковать их в третий.

Давайте посмотрим, как это будет выглядеть:


# способ №2 - распаковка списков

items1 = ['сайт', 'мой', 'работает', 'нормально']
items2 = ['что', 'такое', 'python']
items3 = [*items1, *items2]
print(items3)

Объединение списков Python с использованием Zip

Функция zip последовательно перебирает несколько элементов, позволяя нам получать доступ к элементам по порядку.

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


# способ №3 - использование функции zip

items1 = ['сайт', 'мой', 'работает', 'нормально']
items2 = ['что', 'такое', 'python']

items3 = [item for sublist in zip(items1, items2) for item in sublist]
print(items3)

Функция zip() создает объект zip, который технически является объектом генератора. Когда мы превращаем его обратно в список, мы получаем доступ ко всем элементам в генераторе. Из-за этого мы можем использовать функцию для объединения двух списков Python в последовательном порядке.

Объединение списков без дубликатов

В Python есть структура данных set, которая в чем-то похожа на список, но не может содержать повторяющихся элементов. Мы можем использовать set для удаления любых дубликатов из списка, преобразовав список в set.

Давайте посмотрим, как мы можем объединить списки и удалить все в них дубликаты, используя set:


# способ №4 - слияние списков с удалением дубликатов

list1 = [1, 2, 3, 4]
list2 = [4, 5, 6, 7]
list3 = list(set(list1 + list2))

print(list3)

Что мы здесь сделали:

  1. Мы объединили списки с помощью оператора +,
  2. Затем мы преобразовали этот список в set для удаления дубликатов
  3. Затем мы преобразовали набор обратно в список

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

Хотя это не тот подход, который необходим в большинстве случаев, но он гибче с точки зрения того, какие элементы включать в итоговый список.

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

Пример:


# способ №5 - использование цикла for

list1 = ['сайт', 'мой', 'работает', 'нормально']
list2 = ['что', 'такое', 'python']

# вставка значений из первого списка во второй
for item in list2:
    list1.append(item)

print(list1)

# слияние по условию - если длина строки больше трех символов
list1 = ['сайт', 'мой', 'работает', 'нормально']
list2 = ['что', 'такое', 'python']

for item in list2:
    if len(item) > 3:
        list1.append(item)

print(list1)

то мы сделали здесь в обоих примерах:

  1. Мы прошлись по нашему второму списку, добавив каждый элемент из второго списка к первому списку - первый вариант
  2. Второй вариант — то же самое, но с условием:
  3. Если условие выполнено, то мы добавляем элемент в список.
  4. Если это не так, то элемент пропускается.

Объединение списков с помощью спискового включения (list comprehension)

Давайте посмотрим, как это выглядит:


# способ №6 - списковое включение (List Comprehension)

list1 = ['сайт', 'мой', 'работает', 'нормально']
list2 = ['что', 'такое', 'python']

[list1.append(item) for item in list2]

print(list1)

Объединение списков по общим элементам

Иногда возникает потребность - объединить только общие элементы между двумя списками Python, что означает пересечение между двумя списками.

Давайте посмотрим, как объединять списки только с общими элементами:



# способ №7 - слияние списков только по общим элементам

list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
list3 = list(set(list1).intersection(set(list2)))

print(list3)

Давайте рассмотрим, что мы здесь сделали:

  1. Оба списка преобразуются в set
  2. Первый набор использует метод .intersection() в который передается набор из второго списка
  3. Окончательный набор возвращается в виде списка

Таким образом, из этой статьи мы рассмотрели разные способы объединения списков в Python.

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

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

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

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

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

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

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

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

Комментарии (0):

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