编写函数,接收一个列表(包含30个1~100之间的随机整形数)和一 个整数k,返回一个新列表。
函数需求:
- 将列表下标k之前对应(不包含k)的元素逆序;
- 将下标k及之后的元素逆序。
示例:输入[1,2,3,4,5] 2 ,输出[2,1,5,4,3]
下面展示代码。
import random
def fun(alist,k):
#定义函数
if k < 0 or k > len(alist):
return 'error key'
#取出前列表前k个元素,并进行逆序排列
list_k = alist[:k]
change1 = sorted(list_k,reverse=True)
list_bek = alist[k:]
#改变后续元素排序
change2=[]
change2=sorted(list_bek,reverse=True)
return change1 + change2
list = []
for i in range(30):
num = random.randint(1,100)
list.append(num)
print(list)
k=int(input("请输入k的值:"))
a =fun(list,k)
print("排序后的新列表为:",a)