@demchenkodenis

Как соединить списки?

Добрый день, уважаемые!
Помогите дописать код, уже сомневаюсь в его жизнеспособности
a = list(input('Введите число: '))
print(a)
for i in range(0, len(a), 2):
    print(list(reversed(a[i:i + 2])))

При входных значениях 123456, в конце выводит
['1', '2', '3', '4', '5', '6']
['2', '1']
['4', '3']
['6', '5']
а нужно
['1', '2', '3', '4', '5', '6']
['2', '1', '4', '3', '6', '5']
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
MinTnt
@MinTnt
В принципе, достаточно меняя значения нужных полей (a[i]) в списке, выполнит поставленную задачу
a = list(input('Введите число: '))
print(a)
for i in range(0, len(a), 2):
    a[i], a[i + 1] = reversed(a[i:i + 2])
    
print(a)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
from itertools import chain

def chunkify(items, chunk_size):
    for i in range(0, len(items), chunk_size):
        yield items[i:i+chunk_size]


n = int(input('Введите число: '))
print(list(chain(*(reversed(i) for i in chunkify(range(1, n), 2)))))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы