Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- '''zliczanie wszystkich serii z pomoca defaultdict'''
- import collections
- a = [1,1,1,2,3,1,1,3,3,3,3,4,4,5,6,4,5,5]
- results = collections.defaultdict(list)
- prev = None
- for i in a:
- if i != prev:
- results[i].append(0)
- prev = i
- results[i][-1] += 1
- print results
- # defaultdict(<type 'list'>, {1: [3, 2], 2: [1], 3: [1, 4], 4: [2, 1], 5: [1, 2], 6: [1]})
- #----------------------------------------------------------------------
- '''zliczanie wszystkich serii bez pomocy defaultdict'''
- a = [1,1,1,2,3,1,1,3,3,3,3,4,4,5,6,4,5,5]
- results = {}
- prev = None
- for i in a:
- if i != prev:
- if i not in results:
- results[i] = []
- results[i].append(0)
- prev = i
- results[i][-1] += 1
- print results
- # {1: [3, 2], 2: [1], 3: [1, 4], 4: [2, 1], 5: [1, 2], 6: [1]}
- #----------------------------------------------------------------------
- '''zliczanie serii z pominieciem serii jednoelementowych'''
- a = [1,1,1,2,3,1,1,3,3,3,3,4,4,5,6,4,5,5]
- results = {}
- prev = None
- count = 0
- a.append(None) # wymaga dodatkowego oznaczenie konca listy
- for i in a:
- if i != prev:
- if count > 1:
- if prev not in results:
- results[prev] = []
- results[prev].append(count)
- prev = i
- count = 0
- count += 1
- print results
- # {1: [3, 2], 3: [4], 4: [2], 5: [2]}
- #----------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement