【发布时间】:2016-06-22 17:45:17
【问题描述】:
我需要按照字符串长度的递增顺序对下面的列表进行排序
lst = [None, 'abc', 'a', 'ab']
我正在使用下面的代码来做到这一点
lst.sort(key = lambda s: len(s))
但它会产生错误
TypeError: 'NoneType' 类型的对象没有 len()
很明显None 类型对象没有任何长度。那么,我该如何修改上面的代码,以便它开始将None 对象的长度解释为0。
【问题讨论】:
-
key = lambda s:s is not None and len(s) -
为什么你的字符串列表中有
Nones?您确定应该使用None而不是空字符串吗?
标签: python list sorting python-3.x