【发布时间】:2016-08-03 10:24:48
【问题描述】:
所以我有两个列表:
keys = ['Z', 'X', None, None]
values = [ 0 , 1 , None, None]
我需要能够获取这两个列表并根据键值对其进行排序,然后将其返回给自己。理想情况下,输出将是:
keys = ['X', 'Z', None, None]
values = [ 1 , 0 , None, None]
我在这里尝试的是:
self.keys, self.values = (list(x) for x in zip(*sorted(zip(self.keys,
self.values), key=lambda pair: pair[0])))
这很好用,只是它给了我以下错误:
TypeError: unorderable types: NoneType() < str()
如何使用此方法对 None 进行排序?有没有比我正在尝试的更好的方法?
【问题讨论】:
-
None应该大于一切吗? -
@LauroMoura 这个问题很接近,但它没有使用我试图实施的方法。
-
@timgeb 没错,None 应该始终留在列表的末尾
标签: python list sorting python-3.x nonetype