如何对列表中的元素去重
面试题目
- 级别: L1
- 知识模块: Python 编程语言
题目描述
- 如何对列表中的元素去重?
- 如果使用集合自己如何处理?
- 如果使用字典的方式如何处理
公司
- 美团外包
招聘类型
社招
题目解析
题目主要考察对字典,集合以及唯一性的理解
- 列表中的元素都是不可变类型数据, 可以使用将列表转换成集合的方式实现去重。
- 也可以使用字典,将列表中的元素做为字典中的 key 实现去重,因为 key 具有唯一性。
- 如果列表中的数据是可变数据数据,需要通过遍历方式,根据数据的某一特性进行去重
答案
- 转集合方法
data = [1,1,2,2,2,3,3,"a","a",(1,1),(1,1)]
new_list = list(set(data))
print(new_list)
- 字典方法
data = [1,1,2,2,2,3,3,"a","a",(1,1),(1,1)]
new_list = list(dict.fromkeys(data))
print(new_list)
# dict.fromkeys() 是一个用于创建新字典的静态方法,该字典的键来自一个可迭代对象,由于字典key值唯一的特性
# 旧列表相同的key值只会出现一次
# list()再将这个字典转换回列表
- 遍历配合字典方式
data = [1,1,2,2,2,3,3,"a","a",(1,1),(1,1)]
new_data = {}
for k in data:
new_data[k] = k
new_list = list(new_data.keys())
print(new_list)