python3 开发面试题(去重保持原来的顺序)6.2
2024-08-28 01:05:05
"""
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)
最新文章
- 贝塔阶段html及pdf模块测试
- TestNG官方文档中文版(5)-测试方法/类和组
- 似是而非的k=sqrt(n)
- Struts2 - Rest(1)
- C#超时处理(转载)
- SSD常见问题的技术分析
- 【转】Android 常用 adb 命令总结
- Introducing Visual Studio’s Emulator for Android
- 【Loadrunner】初学Loadrunner——安装
- offset,client,scroll,style相关笔记
- Linux下安装PostgreSQL 转载linux社区
- LauncherModel.Callbacks接口
- ECSHOP后台编辑器不能上传中文名图片的解决办法
- Blender设置界面语言
- python collection 中的队列
- 使用ActiveMQ实现简易聊天功能
- 51 Nod 1024 Set
- UML类图(三)-------实例
- 泉五培训Day3
- 51nod 1096 距离之和最小【中位数】