python3 开发面试题(去重保持原来的顺序)6.2详解编程语言

""" 
l1 = [11, 2, 3, 22, 2, 4, 11, 3] 
去重并保持原来的顺序 
"""
python3 开发面试题(去重保持原来的顺序)6.2详解编程语言

#方式一  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)

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/12208.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论