Python进行数组的排序、倒序、截取方式

来自:网络
时间:2024-03-18
阅读:

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]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

返回顶部
顶部