栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据字符串的长度对Python列表进行排序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据字符串的长度对Python列表进行排序

将传递

lambda
给时
sort
,您需要返回一个整数,而不是布尔值。因此,您的代码应改为:

xs.sort(lambda x,y: cmp(len(x), len(y)))

请注意,cmp是一个内置函数,

cmp(x,y)
如果
x
小于则返回-1
y
x
等于则返回0
y
x
大于则返回1
y

当然,您可以改为使用

key
参数:

xs.sort(key=lambda s: len(s))

这告诉该

sort
方法根据键函数返回的值进行排序。

编辑:感谢下面的balpha和Ruslan指出,您可以

len
直接将其作为关键参数传递给函数,从而消除了对a的需要
lambda

xs.sort(key=len)

正如Ruslan在下面指出的那样,您还可以使用内置的排序函数而不是

list.sort
方法,该方法创建一个新列表,而不是就地对现有列表进行排序:

print(sorted(xs, key=len))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/623691.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号