python3 开发面试题(生成列表)6.2
程序员文章站
2022-07-22 22:51:13
#方式一 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去重,再转换回列表( ......
""" 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)
下一篇: 精妙而幽默的婚烟诠释