1. 题目
有一个里列表 L1 = [55, 9, 22, 3, 55, 8, 21, 55, 1, 36],请对列表去重, 但去重后仍需保持原来的顺序
2. 分析
- 去重使用 set 函数
L2 = list(set(L1))
print(L2) # [22, 9, 1, 3, 8, 55, 21, 36]
- 保持顺序
- 怎么用代码描述这个 元素出现的顺序 ? --> 索引
- 将去重之后列表中的元素 按照原来的顺序 排序
L2.sort(key=L1.index)
print(L2)
3. 延伸
如何对字典排序?
L3 = [
{"name": "Tomas", "age": 6},
{"name": "Lillian", "age": 5},
{"name": "Ian", "age": 5},
{"name": "Fancy", "age": 7},
]
# 将l3中的元素按照age由小到大排序
ret = sorted(L3, key=lambda dic:dic["age"])
print(ret)
L3.sort(key=lambda x: x["age"])
print(L3)
网友评论