|
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)
复制代码 打印返回结果:如果不知道有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)
复制代码 打印返回结果:数组list转成集合set时会默认从小到大排序
这里时候再取出来就可以了- a=[2,3,1]
- a=set(a)
- b=[]
- for i in a:
- b.append(i)
- print(b)
复制代码 打印返回结果:总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://www.jb51.net/python/316175okg.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|