导航:首页 > 编程语言 > python数组分片

python数组分片

发布时间:2025-07-01 12:26:10

python怎么使用sort

Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明:
一、基本形式
列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。

x = [4, 6, 2, 1, 7, 9]
x.sort()
print x # [1, 2, 4, 6, 7, 9]

如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢

x =[4, 6, 2, 1, 7, 9]
y = x[ : ]
y.sort()
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]

注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。
另一种获取已排序的列表副本的方法是使用sorted函数:

x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]

sorted返回一个有序的副本,并且类型总是列表,如下:

print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']

二、自定义比较函数
可以定义自己的比较函数,然后通过参数传递给sort方法:

def comp(x, y):
if x < y:
return 1
elif x > y:
return -1
else:
return 0

nums = [3, 2, 8 ,0 , 1]
nums.sort(comp)
print nums # 降序排序[8, 3, 2, 1, 0]
nums.sort(cmp) # 调用内建函数cmp ,升序排序
print nums # 降序排序[0, 1, 2, 3, 8]

三、可选参数
sort方法还有两个可选参数:key和reverse

1、key在使用时必须提供一个排序过程总调用的函数:

x = ['mmm', 'mm', 'mm', 'm' ]
x.sort(key = len)
print x # ['m', 'mm', 'mm', 'mmm']

2、reverse实现降序排序,需要提供一个布尔值:

y = [3, 2, 8 ,0 , 1]
y.sort(reverse = True)
print y #[8, 3, 2, 1, 0]

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python , 方法 sort python sort方法、python魔术方法详解、python实例方法详解、list.sort 使用方法、c list.sort 使用方法,以便于您获取更多的相关知识。

❷ python切片问题

题主你好,

字符串切片, 通常情况下有这么几种情况:

a. 第1种情况, 起始索引和结束索引都未省略时, 得到的结果用我的话说是: 包前不包后, 这一点通过题主的问题可以得知,是知道这一点的.

举例: a = '01234' a[2:4]的值为'23';

b.第2种情况,起始索引省略, 结束索引未省略, 此时起始索引默认值为0.

举例来说: a = '012345' a[:2]等价于a[0:2],按照包前不包后的原则, 最后的结果: '01'

c.第3种情况,起始索引未省略, 结束索引省略, 此时结束索引默认值为被分片字符串的长度.

举例来说: a = '01234' a[2:]等价于a[2:len(a)]也就是a[2:5], 还是按照包前不包后的原则,最后的结果: '234'

d.第4种情况, 起始索引和结束索引都省略, 则根据b和c所说的, 起始索引默认为0,结束索引默认为字符串的长度len(字符串).

举例来说: a = '01234' a[:]等价于a[0:len(a)],也就是a[0:5], 还是按照包前不包后的原则, 最后得到结果: '01234'

--------

上面b,c情况的依据:

上面所说为分片索引也可以是负数, 负数是从右向左数, 与正数分片索引不同的是, 负数的分片索引起始值为-1, 正数的分片索引起始值为0.

举例来说中: a = '01234', a[0:-1], 因为-1是字符串最后一个字符的索引, 再根据上面所说的包前不包后原则, 结果就是去掉最后一个字符,剩下的内容: '0123'

希望可以帮到题主, 欢迎追问.

阅读全文

与python数组分片相关的资料

热点内容
起源pdf 浏览:854
java高并发程序设计源码 浏览:920
国网加密测试流程 浏览:158
国内期货源码开发 浏览:393
计算机程序员在哪个行业工资高 浏览:250
单片机如何控制12v马达 浏览:143
无油涡轮压缩机 浏览:917
共享文件夹没有选项 浏览:175
编程师傅工资待遇 浏览:125
kendoui源码下载 浏览:856
教学光盘加密了如何打开 浏览:841
安卓电视下载什么app 浏览:399
程序员空乘 浏览:608
安卓手机如何在息屏录像 浏览:244
低温技术pdf 浏览:920
ice怎么修复服务器 浏览:268
命令行修改盘符 浏览:51
ubuntu下的python在哪个文件夹 浏览:707
app被处罚了怎么办 浏览:3
plc编译后错误18 浏览:614