-
<PYTHON>[collections]Flower in my dev/Python 2015. 7. 10. 11:21
[collections]
- 내부 함수는 아래만 활용해 본다.
Counter()
deque()
defaultdict()
OrderedDict()
namedtuple()
1. Counter()
12345678910111213141516171819202122232425262728import reimport collectionscnt = collections.Counter()words = ['flower','wing','star','flower','star','flower']for w in words:cnt[w] += 1print cntprint list(cnt.elements())chk = re.findall(r'\w+', open('test.txt').read().lower())print collections.Counter(chk).most_common(10)print collections.Counter(chk).most_common(5)nCnt01 = collections.Counter(a=5, b=3, c=1, d=-1)nCnt02 = collections.Counter(a=2, b=4, c=3, d=1)nCnt03 = collections.Counter(a=5, b=3, c=1, d=-1)print nCnt01.subtract(nCnt02)print nCnt03 + nCnt02print nCnt03 - nCnt02print nCnt03 & nCnt02print nCnt03 | nCnt02cs 2. deque()
12345678910111213141516171819202122232425262728import collectionsd = collections.deque('flower')for elem in d:print elem.upper()d.append('a')d.appendleft('z')print dprint d.pop()print d.popleft()print list(d)print d[0]print d[-1]print list(reversed(d))print 'w' in dd .extend(' teacher')print dd.rotate(1)print dd.rotate(-1)print dprint collections.deque(reversed(d))d.clear()print dd.extendleft('wing')print dcs 3. defaultdict()
1234567891011121314151617181920212223import collectionss = [('flower',3),('wing',1),('star',2),('sky',5)]d = collections.defaultdict(list)for k, v in s:d[k].append(v)print d.items()s = 'flowerflowerfflowwwwerrr'd = collections.defaultdict(int)for k in s:d[k] += 1print d.items()s = [('flower', 1),('wing',2),('flower',3),('wing',5),('wing',5)]d = collections.defaultdict(set)for k, v in s:d[k].add(v)print d.items()cs 4. OrderedDict()
1234567from collections import OrderedDictd = {'flower': 2, 'wing': 1, 'star': 4, 'sky': 3}print OrderedDict(sorted(d.items(), key=lambda t: t[0]))print OrderedDict(sorted(d.items(), key=lambda t: t[1]))print OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))cs 5. namedtuple()
123456789101112131415from collections import namedtupleinfo = namedtuple('info', ['name', 'sex', 'area'])name = 'wing flower sky snow'.split()sex = 'mail femail'.split()area = 'Korea USA'.split()INFO = [info(n, s, a) for n in name for s in sex for a in area]print(info)for named in INFO:print(named)print(type(INFO))print(type(INFO[0]))cs 'Flower in my dev > Python' 카테고리의 다른 글
<PYTHON>[binascii] (0) 2015.07.10 <PYTHON>[dpkt] (0) 2015.07.10 <PYTHON>[.append & .extend] (0) 2015.07.09 <PYTHON>[ip 변환] (0) 2015.07.09 <PYTHON>[locale] (0) 2015.07.09