优草派 > Python

python中sort用法?

孙慧敏         优草派

Python中sort用法

python中sort用法?

在Python中,sort是一种非常常用的排序方法,除了能够对数值和字符串类型的数据进行排序,还可以用于字典中。下面从多个角度来介绍sort的用法。

1. 数值类型的排序

sort可以对数值类型的数据进行排序,如下所示:

```

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst.sort()

print(lst)

```

输出结果为:

```

[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

```

sort还支持倒序排序:

```

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

lst.sort(reverse=True)

print(lst)

```

输出结果为:

```

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

```

2. 字符串类型的排序

sort还可以对字符串进行排序,如下所示:

```

words = ['apple', 'banana', 'pear', 'orange', 'grape', 'peach']

words.sort()

print(words)

```

输出结果为:

```

['apple', 'banana', 'grape', 'orange', 'peach', 'pear']

```

sort默认按照字符串的字典序进行排序,也支持倒序排序:

```

words = ['apple', 'banana', 'pear', 'orange', 'grape', 'peach']

words.sort(reverse=True)

print(words)

```

输出结果为:

```

['pear', 'peach', 'orange', 'grape', 'banana', 'apple']

```

3. 对字典排序

有时候我们需要对字典进行排序,按照值或者键进行排序,这时候就可以使用sort方法。如下所示:

```

ages = {'Alice': 25, 'Bob': 18, 'Charlie': 5, 'David': 20}

sorted_ages_by_value = sorted(ages.items(), key=lambda x: x[1])

sorted_ages_by_key = sorted(ages.items(), key=lambda x: x[0])

print(sorted_ages_by_value)

print(sorted_ages_by_key)

```

输出结果为:

```

[('Charlie', 5), ('Bob', 18), ('David', 20), ('Alice', 25)]

[('Alice', 25), ('Bob', 18), ('Charlie', 5), ('David', 20)]

```

排序字典时,需要使用sorted方法,将字典转化为元素为(key, value)的元组的列表,然后使用key参数来指定按照值或键进行排序。

4. 使用sort实现复杂排序

有时候需要对一个列表中的元素进行复杂的排序,sort也可以胜任。比如根据列表中元素包含的数字进行排序,如下所示:

```

def sort_by_digits(lst):

digits = list(map(str, range(10)))

return sorted(lst, key=lambda x: [int(d) for d in str(x) if d in digits])

lst = ['abc12', 'xyz3', 'ijk9', 'def7']

print(sort_by_digits(lst))

```

输出结果为:

```

['xyz3', 'abc12', 'def7', 'ijk9']

```

5. sort和sorted的区别

sort和sorted都是用于排序的方法,sort是在原列表上进行排序,sorted是创建一个新的排序后的列表,不改变原列表。

```

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

sorted_lst = sorted(lst)

print(lst) # [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

print(sorted_lst) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

lst.sort()

print(lst) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

```

通过对sort的用法进行分析,我们可以看出sort的灵活性和适用性。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024