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

Проверьте палиндромы в одной линии Python. Нет Для петли. Нет рекурсии.

Нет, вам не нужна для цикла или рекурсии! Позвольте мне показать вам, как …

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

"bob" == "bob"[::-1]

Этот одноклассник вводит еще один базовый компьютерный термин: палиндромы. Точно так же Anagrams Palindromes – популярный вопрос интервью.

Первые вещи в первую очередь: что такое палиндром?

«Палиндром – это слово, номер, фраза или другая последовательность персонажей, которая читает то же самое обратно, как вперед, например Madam или RaceCar или номер 10201.[1]

Вот несколько веселых примеров:

  • ” Мистер Сова ел мой металлический червь »
  • “Была ли машина или кот, которую я видел?”
  • ” Иди повесьте салями, я лазанья свинья »
  • ” Крысы живут без злой звезды “
  • “Ханна”
  • “Анна”
  • “Боб”

Есть ли короткое и лаконичное одноклассное решение в Python? (Там есть!)

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

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

Больше с меньшей: Купить книгу на одну лайнера Python

Книга выпускается в 2020 году с помощью книги по программированию по всему мировому классу «Ностарх» (Сан-Франциско).

Код

Проблема заключается в следующем: Учитывая последовательность символов (строка) – это обратная последовательность символов такая же, как исходная последовательность (то есть – это нить палиндром)?

## One-Liner
is_palindrome = lambda phrase: phrase == phrase[::-1]


## Result
print(is_palindrome("anna"))
print(is_palindrome("kdljfasjf"))
print(is_palindrome("rats live on no evil star"))

Листинг: одноклассное решение, чтобы проверить, является ли фраза палиндром.

Какой вывод этих трех звонков функций?

Как это работает

Раствор одноклассника не требует внешней библиотеки, это просто и просто. Мы определяем функцию лямбда, которая принимает одну фразу аргументов – строку, которая будет протестирована – и возвращает логическое значение, что последовательность символов остается неизменным при изменении. Чтобы изменить строку, мы используем Slicing (см. Главу 3). Давайте быстро рекомендуем нарезку:

Нарезка – это специфическая для Python концепция для резки диапазона значений из типов последовательности, таких как списки или строки. Нарезка основана на лаконичной записи [Start: Stop: Step], чтобы вырезать последовательность, начинающуюся в индексе «Пуск» (включительно) и заканчивая индексным «концом» (эксклюзивным). Третий параметр «Step» позволяет определить размер шага, то есть, сколько символов из исходной последовательности ваш ломтик будет пропустить перед тем, как принять следующий символ (например, означает, что ваш ломтик будет состоять только из каждого другого персонажа). При использовании отрицательного размера шага строка пересекается в обратном порядке.

Таким образом, результат фриппета кода одноклассника является следующим:

## Result
print(is_palindrome("anna")) # True
print(is_palindrome("kdljfasjf")) # False
print(is_palindrome("rats live on no evil star")) # True

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

Тщательное образование Python имеет решающее значение для вашего успеха в качестве разработчика Python. Для всех кодер с небольшим количеством времени, которые любят ежедневную кодирующую проблему во время их кофе-перерыва, я написал книгу серии «Кофе-брейк Python». Проверьте это!

Нужен перерыв? Получите ваш перерыв на кофе Python!

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

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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

Оригинал: “https://blog.finxter.com/palindromes-in-one-line-python/”