Python进行数组的排序、倒序、截取
这里涉及到的场景,是对无序数组,需要进行有序排序的场景;
也可以是对数组内容,进行头部取舍的场景;
结合起来就可以是对数组排序后,进行数组的取舍
排序是对数组中进行双冒号 :: 操作,取舍是对数组进行单冒号 : 操作
根据上面的介绍,我们其实就能进行一些操作
如:取前N位元素、取后N位元素、取最大的N位元素、取最小的N位元素等等
代码和结果如下:
arr = [1, 9, 5, 73, 1, 4, 56, 2, 6, 10] # 数组倒序 print(arr[::-1]) # 输出:[10, 6, 2, 56, 4, 1, 73, 5, 9, 1] # 数组排序 print(sorted(arr)) # 输出:[1, 1, 2, 4, 5, 6, 9, 10, 56, 73] # 取前3位元素 print(arr[:3]) # 输出:[1, 9, 5] # 取除了后3位的元素 print(arr[:-3]) # 输出:[1, 9, 5, 73, 1, 4, 56] # 取后3位的元素 print(arr[-3:]) # 输出:[2, 6, 10] # 取除了前3位的元素 print(arr[3:]) # 输出:[73, 1, 4, 56, 2, 6, 10] # 排序后、倒序、取前3位元素(取最大的3位元素) print(sorted(arr)[::-1][:3]) # 输出:[73, 56, 10]
以上示例用法,其实搭配起来使用可以有很多好处,不过还是要根据大家的实际场景进行使用
python排序的几种方式
通过sort()可以快速实现数组的排序
a=[2,3,1] a.sort() print(a)
打印返回结果:
[1, 2, 3]
如果不知道有sort()函数或者一些特殊场景需要排序
如果解决呢,冒泡排序还是一个很好的算法
在计算性价比的贪心算法时也可以用到
#Python学习交流群:531509025 a=[2,3,1] for i in range(len(a)): for j in range(i+1,(len(a))): if a[i]>a[j]: a[i],a[j]=a[j],a[i] print(a)
打印返回结果:
[1, 2, 3]
数组list转成集合set时会默认从小到大排序
这里时候再取出来就可以了
a=[2,3,1] a=set(a) b=[] for i in a: b.append(i) print(b)
打印返回结果:
[1, 2, 3]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。