美文网首页
Python:对列表去重, 使其去重后仍保持原来的顺序

Python:对列表去重, 使其去重后仍保持原来的顺序

作者: Queenie的学习笔记 | 来源:发表于2020-09-12 07:41 被阅读0次

1. 题目

有一个里列表 L1 = [55, 9, 22, 3, 55, 8, 21, 55, 1, 36],请对列表去重, 但去重后仍需保持原来的顺序

2. 分析

  1. 去重使用 set 函数
L2 = list(set(L1))
print(L2)            # [22, 9, 1, 3, 8, 55, 21, 36]
  1. 保持顺序
  • 怎么用代码描述这个 元素出现的顺序 ? --> 索引
  • 将去重之后列表中的元素 按照原来的顺序 排序
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)

相关文章

网友评论

      本文标题:Python:对列表去重, 使其去重后仍保持原来的顺序

      本文链接:https://www.haomeiwen.com/subject/tbwiektx.html