Python 反转运算符从随机点反转列表

Python 反转运算符从随机点反转列表,python,python-3.x,list,pycharm,Python,Python 3.x,List,Pycharm,有没有办法从一些随机索引中反转列表数据。 我不想颠倒整个列表,只是其中的一部分。 比如,我们有输入列表 a=[4,3,6,2,1,5,7,8]和输出列表 a'=[4,3,5,1,2,6,7,8] 反转点可以在任何地方,最好是随机选择。是否可能,您可以生成2个随机数,并使用它们选择aa的不同索引 import random a = [4,3,6,2,1,5,7,8] b = random.randint(0,len(a)) c = random.randint(0,len(a)) while

有没有办法从一些随机索引中反转列表数据。 我不想颠倒整个列表,只是其中的一部分。 比如,我们有输入列表
a=[4,3,6,2,1,5,7,8]
和输出列表
a'=[4,3,5,1,2,6,7,8]

反转点可以在任何地方,最好是随机选择。

是否可能,您可以生成2个随机数,并使用它们选择
a
a的不同索引

import random

a = [4,3,6,2,1,5,7,8]

b = random.randint(0,len(a))
c = random.randint(0,len(a))
while c == b :
    c = random.randint(0,len(a))

tmp = a[b]
a[b] = a[c]
a[c] = tmp
print(a)
编辑: 指数之间的转换是什么

import random

a = [4,3,6,2,1,5,7,8]


len_a = len(a)-1

b = random.randint(0,len_a)
c = random.randint(0,len_a)
while c == b :
    c = random.randint(0,len_a)

if(b < c):
    min = b
    max = c
else:
    min = c
    max = b

print(f"{min} {max}")

new_list = a[0:min]

if(min == 0):
    for number in a[max::-1]:
        new_list.append(number)
else:
    for number in a[max:min-1:-1]:
        new_list.append(number)



if(max != len(a)):
    for number in a[max+1:len_a+1]:
        new_list.append(number)

print(f"a = \t\t{a}")
print(f"new_list = \t{new_list}")

欢迎来到StackOverFlow!看一看,什么是一个。您甚至可以在访问这些页面时获得奖励。我们不会为您编写代码。分享你迄今为止所做的尝试,我们将尝试改进它。这将只替换两个不同的索引。我想把列表中这两个索引之间的部分颠倒过来;a=[4,3,6,2,1,5,7,8]对于这个,如果b=3,c=1,那么a'=[4,1,2,6,3,5,7,8]
4 6
a =             [4, 3, 6, 2, 1, 5, 7, 8]
new_list =      [4, 3, 6, 2, 7, 5, 1, 8]