python3 開發面試題(生成列表)6.2
阿新 • • 發佈:2018-06-03
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) #實質就是 deftmp(x): # 返回一個排序的依據 {"name": "大娃", "age": 38}, return x["age"] l4.sort(key=tmp) print(l4)
python3 開發面試題(生成列表)6.2