python collection code example

Example 1: python ordereddict

>>> # regular unsorted dictionary
>>> d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}

>>> # dictionary sorted by key
>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

>>> # dictionary sorted by value
>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])

>>> # dictionary sorted by length of the key string
>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])

Example 2: counter most_common

most_common([n])Return a list of the n most common elements and their counts from the most common to the least. If n is omitted or None, most_common() returns all elements in the counter.
Elements with equal counts are ordered arbitrarily:

>>> Counter('abracadabra').most_common(3)
[('a', 5), ('r', 2), ('b', 2)]

Example 3: python collections

# Dictionary where key values default to a list:
	a = collections.defaultdict(list)   
# Dictionary where key values default to 0:
	a = collections.defaultdict(int)
# Dictionary where key values default to another dictionary:
	a = collections.defaultdict(dict)

'''
Example:
  In a regular dictionary, if you did the following:
  
    a = {}
    if a['apple'] == 1:
        return True    
    else:
        return False
        
  You'd get an error, because 'apple' does not exist in dictionary. 
  However, if you use collections:
    
    a = collections.defaultdict(int)
    if a['apple'] == 1:
		return True
    else:
        return False
    
  This would not give an error, and False would be returned.
  Also, the dictionary would now have the key 'apple' with a
  default integer value of 0 inside it.
  
  If you used say, collections.defaultdict(list), the default value
  would be an empty list instead of 0.
  
'''

Example 4: python counter

sum(c.values())                 # total of all counts
c.clear()                       # reset all counts
list(c)                         # list unique elements
set(c)                          # convert to a set
dict(c)                         # convert to a regular dictionary
c.items()                       # convert to a list of (elem, cnt) pairs
Counter(dict(list_of_pairs))    # convert from a list of (elem, cnt) pairs
c.most_common()[:-n-1:-1]       # n least common elements
c += Counter()                  # remove zero and negative counts

Example 5: python collections to dictionary

list = ["a","c","c","a","b","a","a","b","c"]
cnt = Counter(list)
od = OrderedDict(cnt.most_common())
for key, value in od.items():
    print(key, value)

Example 6: python collections

list = [1,2,3,4,1,2,6,7,3,8,1]
Counter(list)

Tags:

Java Example