Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- How do I keep the index of the duplicate element unchanged
- ['a', 'b', 'b', 'c', 'c', 'd']
- [[0, 'a'], [1, 'b'], [1, 'b'], [2, 'c'], [2, 'c'], [3, 'd']]
- >>> map(lambda (index, word): [index, word], enumerate([['a', 'b', 'b', 'c', 'c', 'd']])
- [[0, 'a'], [1, 'b'], [2, 'b'], [3, 'c'], [4, 'c'], [5, 'd']]
- input = ['a', 'b', 'b', 'c', 'c', 'd']
- mapping = { v:i for (i, v) in enumerate(sorted(set(input))) }
- [ [mapping[v], v] for v in input ]
- [ [d.setdefault(v, len(d)), v] for d in [{}] for v in input ]
- >>> import itertools
- >>> seq = ['a', 'b', 'b', 'c', 'c', 'd']
- >>> [[i, c] for i, (k, g) in enumerate(itertools.groupby(seq)) for c in g]
- [[0, 'a'], [1, 'b'], [1, 'b'], [2, 'c'], [2, 'c'], [3, 'd']]
- [
- [i, x]
- for i, (value, group) in enumerate(itertools.groupby(['a', 'b', 'b', 'c', 'c', 'd']))
- for x in group
- ]
- a = ['a', 'b', 'b', 'c', 'c', 'd']
- result = []
- d = {}
- n = 0
- for k in a:
- if k not in d:
- d[k] = n
- n += 1
- result.append([d[k],k])
- [[0, 'a'], [1, 'b'], [1, 'b'], [2, 'c'], [2, 'c'], [3, 'd'], [0, 'a']]
Advertisement
Add Comment
Please, Sign In to add comment