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

1
my_list =[[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

Я стараюсь распечатать my_list формы:

3 2 1
6 5 4
10 9 8 7

Это мой вывод:

1 2 3
4 5 6
7 8 9 10

Кажется, это очень просто в "путях python", спасибо!

Показать ещё 1 комментарий
Теги:
for-loop
printing
python-2.7
nested-lists

3 ответа

1

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

for nested_list in my_list:
  print([val for val in nested_list[::-1]])

Как выражено в других ответах, проходящих через ::-1 во вложенный список, изменяется порядок в цикле for.

1

MEHTOD 1

Мы можем использовать функции списка, .join() и .join().

my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]

for item in my_list:
    print ' '.join(str(x) for x in item[::-1])

выход:

3 2 1
6 5 4
10 9 8 7

MEHTOD 2

Мы можем использовать вложенный оператор loop и Slices.

for xs in my_list:
    for x in xs[::-1]:
        print x,
    print

И print() по умолчанию печатает символы новой строки в конце, если вы не используете: print(end="") или если вы используете Python 2.x print t, будет работать.

выход:

3 2 1
6 5 4
10 9 8 7
  • 0
    Почему вопрос помечен Python 3.x, если ни один из этих методов не будет работать в Python 3?
  • 0
    спасибо, я редактировал теги
0

Слой [:: -1] меняет список в цикле for (но на самом деле не будет изменять ваш список "постоянно"):

def reverse_list(my_list):
    new_list = []
    for sub_list in my_list:
        new_list.append(sub_list[::-1])
    return new_list


test_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]];
reversed_lists = reverse_list(test_list)
for reversed_list in reversed_lists:
    print reversed_list

Ещё вопросы

Сообщество Overcoder
Наверх
Меню