1. 程式人生 > >python3 開發面試題(生成列表)6.2

python3 開發面試題(生成列表)6.2

turn alt 技術分享 img python3 lose append cli 函數

"""
l1 = [11, 2, 3, 22, 2, 4, 11, 3]
去重並保持原來的順序
"""
技術分享圖片
#方式一  for 循環方法
l1 = [11, 2, 3, 22, 2, 4, 11, 3]
l2 = []

for i in l1:
    if i not in l2:
        l2.append(i)
print(l2)

#方式二 

l3 = list(set(l1))  # 將列表用set去重,再轉換回列表(沒有按照之前的順序)
l3.sort(key=l1.index)  # 將上一步得到的列表排序,按照l1中的順序排序
print(l3)
答案
#有同學可能不懂key,key就是一個排序的依據
#在匿名函數中也是這麽運用的看下面例子

l4 = [
    {"name": "大娃", "age": 38},
    {"name": "二娃", "age": 18},
    {"name": "三娃", "age": 19},
    {"name": "四娃", "age": 29},
    {"name": "五娃", "age": 30},
]

l4.sort(key=lambda x: x[age])
print(l4)

#實質就是

def
tmp(x): # 返回一個排序的依據 {"name": "大娃", "age": 38}, return x["age"] l4.sort(key=tmp) print(l4)

python3 開發面試題(生成列表)6.2