Как я могу изменить часть списка в Python? На каждом шаге мы инвертируем интервал списка и выводим весь список - PullRequest
1 голос
/ 03 марта 2020

На каждом шаге мы инвертируем интервал списка и выводим весь список.

input:

3: number of member of list
1 2 3 :list's members
3 :number of indexes of list
2 3: index
2 2: index
2 3: index

output:

1 3 2
1 3 2
1 2 3

Код:

n=int(input())
a = [i for i in map(int,input().split())]
q=int(input())
for i in range(1,q+1):
    l=[i for i in map(int,input().split())]
    a[::-1]
    print(a)

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Полагаю, вы можете захотеть сделать что-то подобное,

mem = int(input("Number of members: "))
members = [int(i) for i in input("List members: ").split()]
idx = int(input("Number of indexes: "))
indexes = [tuple(map(int, input("index: ").split())) for i in range(idx)]

for a, b in indexes:
    members[a - 1], members[b - 1] = members[b - 1], members[a - 1]
    print(members)

Ввод:

Number of members: 3
List members: 1 2 3
Number of indexes: 3
index: 2 3
index: 2 2
index: 2 3

Вывод:

[1, 3, 2]
[1, 3, 2]
[1, 2, 3]
0 голосов
/ 03 марта 2020

из того, что я понимаю из названия:

Как я могу отменить часть списка в Python? На каждом шаге мы инвертируем интервал списка и выводим весь список

, для которого вы хотите инвертировать подпоследовательность из списка, вот пример того, как вы можете это сделать:

my_list = [1, 2, 3, 4, 5]
start, stop = 1, 4

my_list[start: stop] = my_list[start: stop][::-1]

print(my_list)

вывод:

[1, 4, 3, 2, 5]
...