Задача: Разворот целых чисел в списке

Опубликован: 13.09.2024 19

Условие: Дан список с некоторыми целыми числами - тип int(): например, вот такой: [123, 456, 789]

Напишите программу, которая развернет числа в этом списке по следующему принципу: [321, 654, 987]

1. Решение (методом list comprehension):

# исходный список
lst = [123, 456, 789]

# результирующий список с развернутыми числами
lst2 = [int(''.join(list(reversed(str(n))))) for n in lst]
print(lst2)   
# [321, 654, 987]

Этапы решения (методом list comprehension):

  • Функция str() преобразует число из списка lst в строку
  • Функция reversed() возвращает итератор строки, развернутой в обратном порядке
  • Функция list() создает список из элементов строки, развернутой в обратном порядке
  • Функция ''.join() объединяет полученный список элементов строки в единую строку
  • Функция int() преобразует развернутую строку в целое число

2. Решение (методом slice):

Этот метод более простой и эффективный по сравнению с методом list comprehension.

# исходный список
lst = [123, 456, 789]

# результирующий список с развернутыми числами
lst2 = [int(str(n)[::-1]) for n in lst]
print(lst2)   
# [321, 654, 987]

Похожие посты

Задача: Решение квадратного уравнения

Задача: Тренажер таблицы умножения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Комментариев нет.