Рубрики
Без рубрики

Пары списков Python присоединяйтесь

https://youtu.be/8dri4VXi8yw Учитывая список строк. Присоединяйтесь к первому со второй строкой, второй с третью и так далее. One-liLer [lst [i] + lst [i + 1] для i в диапазоне (0, len (lst), 2)] решает проблему с использованием функции диапазона для итерации по всему другому индексу, 2, 4, 5, … для объединения I-й … Пары списков соединения Python Подробнее »

Автор оригинала: Chris.

Учитывая список строк. Присоединяйтесь к первому со второй строкой, второй с третью и так далее. Один вкладыш [lst[i] + lst[i+1] for i in range(0, len(lst), 2)] lst [i] + lst [i + 1] для i в диапазоне (0, len (lst), 2)] Решает проблему, используя функцию диапазона для перевозок по всему другому индексу I = 0, 2, 4, 5, … к объединению i – и то I + 1. -ные элементы в выражении понимания списка с lst [i] + lst [i + 1] .

Вы можете уже знать нормальное функцию объединения в Python:

INTRO: Python присоединиться

Проблема : Учитывая Список элементов. Как присоединиться к элементам объединение Все элементы в списке?

Пример : Вы хотите Конвертировать список [«Учить», «Питон», «быстрый»] в строку «Узнать Python Fast ' Отказ

Быстрое решение : Чтобы преобразовать список строк в строку, выполните следующие действия.

  • Позвоните в '' .join (список) Метод на пустой строке '' Это склеивает все струны в Список и возвращает новую строку.
  • Строка, на которую вы вызываете метод соединения, используется в качестве разделителя между элементами списка.
  • Если вам не нужен разделитель, просто используйте пустую строку '' Отказ

Код : Давайте посмотрим на код.

lst = ['learn ', 'python ', 'fast']
print(''.join(lst))

Вывод:

learn python fast

Однако, если вы хотите сделать что-то другое. Вместо того, чтобы присоединиться к всем строкам в списке в одну строку, вы хотите присоединиться к струнам в списке в парах.

Проблема: Пары списков Python присоединиться

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

Пример : Давайте рассмотрим следующий минимальный пример:

['x', 'y', 'v', 'w']

Есть ли какой-нибудь простой способ соединить первое со вторым и третьим с четвертой строкой, чтобы получить следующий вывод?

['xy', 'vw']

Обратите внимание, что длина строк в списке является переменным, поэтому следующее будет совершенно приемлемым входом:

['aaaa', 'b', 'cc', 'dddd', 'eee', 'fff'] 

Вы можете играть со всеми тремя методами перед погружением в каждый из них:

Упражнение : Какой самый питонический метод?

Метод 1: ZIP () + Понимание списка

Вы можете использовать следующее Smart One-liLer Solution

lst = ['aaaa', 'b', 'cc', 'dddd', 'eee', 'fff']
out = [x + y for x,y in zip(lst[::2], lst[1::2])]
print(out)
# ['aaaab', 'ccdddd', 'eeefff']

Одноклассник использует следующую стратегию:

  • Получить два ломтика lst [:: 2] и lst [1:: 2] исходного списка над каждым другим элементом, начиная с первого и второго элементов, соответственно. Если вам нужно обновить свои навыки нарезки, Проверьте мой подробный блог.
  • ZIP Две ломтики к последовательности кортежей с использованием zip (...) функция. Это согласуется первым со вторыми элементами из исходного списка, третий с четвертым, и так далее. Освежить свой zip () навыки, Проверьте мою руководство в блоге здесь.
  • Используйте понимание списка для переноса каждой пары значений х, у и объединить их с использованием списка Concatenation X + Y. Use list comprehension to iterate over each pair of values x,y and concatenate them using list concatenation x+y . For a refresher on list comprehension, check out this free tutorial

Способ 2: ITERATOR + ПОЛУЧЕНИЕ СПИСОК

Вы также можете использовать итератор, чтобы выполнить это:

lst = ['aaaa', 'b', 'cc', 'dddd', 'eee', 'fff']
it = iter(lst)
out = [x + next(it, '') for x in it] 
print(out)
# ['aaaab', 'ccdddd', 'eeefff']

Вот идея:

  • Создайте объект итератора, который он использует встроенный функцию ИТЕР () Отказ
  • Используйте понимание списка для перехода каждого элемента в итераторе.
  • Объединить каждый элемент с возвратным значением вызова Далее () Функция на итераторе. Это гарантирует, что итератор перемещает одну позицию, дополнительно итерацию по поводу списка. Итак, следующий элемент х не будет дубликатом.

Способ 3: Использовать понимание списка с индексацией

Этот метод является наиболее простым для начинающих Python:

lst = ['aaaa', 'b', 'cc', 'dddd', 'eee', 'fff']
out = [lst[i] + lst[i+1] for i in range(0, len(lst), 2)]
print(out)
# ['aaaab', 'ccdddd', 'eeefff']

Идея просто использовать Диапазон Функция для итерации по всему другому индексу I = 0, 2, 4, 5, ... Для доступа к The idea is simply to use the range function to iterate over every other index i=0, 2, 4, 5, … to access the i -th and the i+1 -th elements at the same time in the expression statement of list comprehension

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники To help students reach higher levels of Python success, he founded the programming education website Finxter.com . He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer

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