gpt4 book ai didi

django - 排序时 : '<' not supported between instances of 'NoneType' and 'str'

转载 作者:行者123 更新时间:2023-12-02 00:24:37 30 4
gpt4 key购买 nike

我正在尝试删除数组的所有重复元素和空元素,然后对其进行排序。

    cities = [js.city for js in company_jscollects]
filter(None, cities)
cities_unique = list(sorted(set(cities)))

但后来我得到了这个错误:

Django 版本:2.0.4异常类型:TypeError异常值:

“NoneType”和“str”实例之间不支持“<”

异常位置:D:..\views.py in dashboard_analytics, line 175

第 175 行包含排序函数。

我很困惑,因为错误告诉我没有元素与字符串进行比较,但我首先使用过滤器来避免这种情况。

最佳答案

您的filter(None, cities) 没有做任何事情,因为filter(..) 本身 过滤列表,它使用过滤后的元素创建一个可迭代对象。

您可以使用:

cities = [js.city for js in company_jscollects]
cities_unique = list(sorted(set(filter(None, cities))))

或者可能更优雅:

cities_unique = sorted({js.city for js in company_jscollects if js.city})

因为 sorted(..) 总是返回一个列表,额外的 list(..) 只会导致构建列表的更多工作。

关于django - 排序时 : '<' not supported between instances of 'NoneType' and 'str' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54215368/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com