[英]How to sort a list with strings and integers?
我有一些代碼:
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()
該手冊指出,不同類型之間的排序是實現定義的:
不同類型的對象(不同的數字類型和不同的字符串類型除外)絕不會相等。 此類對象可以一致但任意地排序
這里最一致的方式似乎是將所有內容都看作是字符串:
def params_to_list(*params):
return sorted(params, key=lambda p: str(p))
我不確定您要對參數進行排序的確切程度,但是您可以調用內置函數sorted()
def params_to_list(*params):
return sorted(list(params))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.