【问题标题】:How can i reverse slice of list in Python? At each step we invert an interval of the list and output the entire list如何在 Python 中反转列表片段?在每一步我们反转列表的间隔并输出整个列表
【发布时间】:2020-03-03 07:40:07
【问题描述】:

在每一步,我们都会反转列表的一个区间并输出整个列表。

输入:

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

输出:

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)

【问题讨论】:

  • 你的问题是什么?请澄清。

标签: python slice reverse


【解决方案1】:

我想你可能想做这样的事情,

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]

【讨论】:

    【解决方案2】:

    根据我对标题的理解:

    如何在 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]
    

    【讨论】:

      猜你喜欢
      • 2016-03-09
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多