簡體   English   中英

如何用字符串和整數對列表進行排序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM