Python查找列表中重复出现的元素
问题:输入一个项目列表, 返回相邻位置不同值的任何元素的项目列表,这些元素彼此相邻并保留元素的原始顺序。
例如:
input:'AAABBBCCAA'
output: ['A', 'B', 'C', 'A']
Python实现:
def unique(iterable):
ans = [] # 存放元素
length = len(iterable)
if length == 0: # 输入列表为空的情况
return ans
else:
for i in range(len(iterable)-1):
if iterable[i] != iterable[i+1]:
ans += [iterable[i]] # 将列表中的元素变为列表类型存储
else:
continue
ans += [iterable[len(iterable)-1]]
print(ans)
return ans
测试输入:
unique('AAAABBBCCDAADD')
unique('ABBCcAD')
unique([1,2,2,4,4])
测试输出:
['A', 'B', 'C', 'D', 'A', 'D']
['A', 'B', 'C', 'c', 'A', 'D']
[1, 2, 4]