1. 程式人生 > >1.傳入一個列表,列表中元素可能是任意型別 2.使用高階函式完成非字串元素的刪除 3.然後按照字串的長度進行降序排序 4.返回新的排序後的列表

1.傳入一個列表,列表中元素可能是任意型別 2.使用高階函式完成非字串元素的刪除 3.然後按照字串的長度進行降序排序 4.返回新的排序後的列表

def sort_list(lt):

    # 過濾不需要的元素,找出是字串型別的元素並將其轉化回列表
    lt = list(filter(lambda x: type(x) == str, lt))
    
    # 用key解決按長度排序的問題
    lt.sort(key=lambda x: len(x), reverse=True)
    
    return lt
lt = ['a', 'abcd', 'abc', 'ab', {'e':2}, 3]
print(sort_list(lt))