描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序
数据范围: 1≤𝑛≤1000 1≤n≤1000 ,元素大小满足 0≤𝑣𝑎𝑙≤100000 0≤val≤100000
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述:
输出排好序的数字
示例1
输入:
8 1 2 4 9 3 55 64 25 0
输出:
1 2 3 4 9 25 55 64
示例2
输入:
5 1 2 3 4 5 1
输出:
5 4 3 2 1
import sys
N=int(input())
arr = input().split(' ')
m = int(input())
b_arr=[]
for item in arr:
a = int(item)
b_arr.append(a)
new_arr = sorted(b_arr)
def arr_print(arr):
for item in arr:
print(item,end=' ')
if m == 0:
arr_print(new_arr)
elif m==1:
new_arr.reverse()
arr_print(new_arr)
对m输入形式不同,判断形式不同(int 或 str --> 0 or '0')
输出列表(list)的倒序/逆序的几种方法:
一、🚀 使用内置的[::-1]切片操作
Python的列表支持切片操作,你可以使用[::-1]
这种特殊的切片方式来轻松地实现列表的倒序。这是一种非常简洁且高效的方法。
二、🚀 使用reversed()函数
reversed()是Python内置的一个函数,它返回一个反转的迭代器。如果你想要一个临时的反转列表,而不是创建一个新的列表,这个函数会非常有用。需要注意的是,reversed()返回的是一个迭代器,如果你需要列表形式的输出,可以将其转换为列表。
三、🚀 使用for循环和append()方法
虽然这种方法相对繁琐,但在理解列表和循环的基础上,它可以帮助你更好地理解倒序列表的实现过程。
n = eval(input()) # 从输入读取一个表达式并计算结果,假设为一个整数n(代表后续输入的元素个数)
l = input().strip().split() # 从输入读取一个字符串,去掉首尾空格,并按空格分割成列表l
flag = eval(input()) # 从输入读取一个表达式并计算结果,假设为布尔值flag(决定排序顺序)
# 将列表l中的元素按整数大小排序,根据flag决定排序顺序(True为降序,False为升序)
print(" ".join(sorted(l, key=int, reverse=flag)))
-
sorted(l, key=int, reverse=flag)
l
是一个字符串列表,例如['3', '1', '2']
。sorted()
函数对列表l
进行排序。key=int
指定了排序的关键字参数,告诉sorted()
使用int
函数将列表中的每个元素转换为整数进行比较。这意味着列表中的字符串元素会被转换成整数进行排序。reverse=flag
指定了排序顺序,flag
是一个布尔值。当flag
为True
时,按降序排序;当flag
为False
时,按升序排序。
- 例如,假设
l = ['3', '1', '2']
并且flag = False
,则sorted(l, key=int, reverse=flag)
的结果是['1', '2', '3']
。