2025-09-10:仓库迁移
This commit is contained in:
25
1.数据结构与算法/10.移除重复元素保留顺序.py
Normal file
25
1.数据结构与算法/10.移除重复元素保留顺序.py
Normal file
@@ -0,0 +1,25 @@
|
||||
# 如果序列中存储的元素是可哈希的,那就可以使用集合与生成器解决
|
||||
|
||||
def dequpe(items):
|
||||
seen = set()
|
||||
for item in items:
|
||||
if item not in seen:
|
||||
yield item
|
||||
seen.add(item)
|
||||
|
||||
# 如果序列里的元素是不可哈希的,比如字典这种东西,就要先转化为可哈希对象;
|
||||
# 这里自定义的key函数就起到了给字典解包的作用
|
||||
|
||||
def dequpe(items, key):
|
||||
seen = set()
|
||||
for item in items:
|
||||
val = item if key is None else key(item)
|
||||
if val not in seen:
|
||||
yield item
|
||||
seen.add(val)
|
||||
|
||||
# 如果单纯的做不改变顺序的去重,直接转集合再转列表就行了
|
||||
|
||||
a = [1,5,2,1,9,1,5,10]
|
||||
a = list(set(a))
|
||||
print(a)
|
Reference in New Issue
Block a user