我有一些代码:
def params_to_list(x, y, z):
"""(object, object, object) -> list
Return a list containing x, y and z, in order.
>>> params_to_list('hello', "month", 3)
['hello', 'month', 3]
"""
我需要创建一个函数。我尝试使用sorted
方法,但它返回错误:
builtins.TypeError:unorderable类型:int()< STR()
答案 0 :(得分:1)
manual表示在不同类型之间进行排序是实现定义的:
不同类型的对象,除了不同的数字类型和不同的字符串类型,从不比较相等;这些对象是一致的,但任意
这里最一致的方式似乎是将排序,好像一切都是字符串:
def params_to_list(*params):
return sorted(params, key=lambda p: str(p))
答案 1 :(得分:0)
我不确定您希望如何对参数进行排序,但您可以调用内置函数sorted()
def params_to_list(*params):
return sorted(list(params))