实现函数unique_in_order,该函数以一个序列作为参数,并返回一个项目列表,其中没有任何元素彼此相邻且具有相同值,并保留元素的原始顺序
例如:
unique_in_order('AAAABBBCCDAABBB') == ['A', 'B', 'C', 'D', 'A', 'B']
unique_in_order('ABBCcAD') == ['A', 'B', 'C', 'c', 'A', 'D']
unique_in_order([1,2,2,3,3]) == [1,2,3]
我的代码返回正确的输出:
def unique_in_order(iterable):
list = []
for i in range(0, len(iterable)):
if iterable[i] != iterable[i-1]:
list.append(iterable[i])
return list
通过测试,但尝试失败,说明:
应使用一个元素: []应等于['A']
应减少重复: []应等于['A']
我想知道我的代码有什么问题,谢谢
使用现有库执行该任务,如
itertools.groupby
使用默认的组键,
groupby
将相同的连续元素分组,生成具有值和值组的元组(我们在这里忽略了这一点,我们只需要键)相关问题 更多 >
编程相关推荐