本文共 900 字,大约阅读时间需要 3 分钟。
Implement the function unique_in_order which takes as argument a sequence and returns a list of items without any elements with the same value next to each other and preserving the original order of elements.
For example:
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): result = [] if len(iterable) != 0: n = len(iterable) a = iterable[0] result.append(a) for i in range(1,n): if iterable[i] != result[len(result)-1]: result.append(iterable[i]) return result else: return result
最好的方法:
def unique_in_order(iterable): result = [] prev = None for char in iterable[0:]: if char != prev: result.append(char) prev = char return result
转载地址:http://xmmws.baihongyu.com/