编写一个程序将数组扁平化并去除其中重复部分数据最终得到一个升序且不重复的数组。 扁平化、去重、排序如输入数组arr =12234556789111212131410返回1234567891011121314
def flatten(lst):
"""
将多层嵌套的列表扁平化为一维列表
"""
result = []
for item in lst:
if isinstance(item, list):
result.extend(flatten(item))
else:
result.append(item)
return result
def unique_sorted(lst):
"""
对列表去重并排序
"""
return sorted(list(set(lst)))
def flat_and_unique(lst):
"""
将列表扁平化并去重并排序
"""
flat_list = flatten(lst)
unique_list = unique_sorted(flat_list)
return unique_list
# 测试
arr = [[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10]
result = flat_and_unique(arr)
print(result)
输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
原文地址: https://www.cveoy.top/t/topic/bAiO 著作权归作者所有。请勿转载和采集!