2014年4月8日 星期二

006 Python Cookbook 01-09 Finding Common

#/usr/bin/env python

# http://chimera.labs.oreilly.com/books/1230000000393/ch01.html#_finding_commonalities_in_two_dictionaries



dict_2014 = {
    'Android'  : 61.9,
    'iOS'      : 36.0,
    'Microsoft': 2.1,
    'Ubuntu'   : 0.1,
    'Others'   : 0.1
}

dict_2013 = {
    'Android'  : 45.8,
    'iOS'      : 52.8,
    'Microsoft': 2.1,
    'Firefox'  : 0.2,
    'Others'   : 0.3
}

list_2014 = dict_2014.keys()
list_2013 = dict_2013.keys()

print "list_2014 =", list_2014
print "list_2013 =", list_2013
print "dict_2014 =", dict_2014
print "dict_2013 =", dict_2013

print "----------"

def get_Common_fron_List(lista, listb):
    bufferr = []
    for i in lista:
        if i in listb:
            bufferr.append(i)
    return bufferr

result = get_Common_fron_List(list_2014, list_2013)
print "get_Common_fron_List =", result

print "----------"

def get_Diff_from_list(lista, listb):
    bufferr = []
    for i in lista:
        if i not in listb:
            bufferr.append(i)
    for i in listb:
        if i not in lista:
            bufferr.append(i)
    return bufferr

result = get_Diff_from_list(list_2014, list_2013)
print "get_Diff_from_list =", result

print "----------"

def get_Common_from_dict(dicta, dictb):
    buffer = {}
    for i in dicta.keys():
        if dictb.has_key(i):
            buffer[i] = dicta[i]
    return buffer

result = get_Common_from_dict(dict_2014, dict_2013)
print "get_Common_from_dict = ", result

print "----------"

def get_Identical_from_dict(dicta, dictb):
    buffer = {}
    for i in dicta.keys():
        if dictb.has_key(i) and dictb[i] == dicta[i]:
            buffer[i] = dicta[i]
    return buffer

result = get_Identical_from_dict(dict_2014, dict_2013)
print "get_Identical_from_dict = ", result

print "----------"

list_2014 = ['Android', 'Others', 'iOS', 'Microsoft', 'Ubuntu']
list_2013 = ['Firefox', 'Android', 'iOS', 'Microsoft', 'Others']
dict_2014 = {'Android': 61.9, 'Others': 0.1, 'iOS': 36.0, 'Microsoft': 2.1, 'Ubuntu': 0.1}
dict_2013 = {'Firefox': 0.2, 'Android': 45.8, 'iOS': 52.8, 'Microsoft': 2.1, 'Others': 0.3}
----------
get_Common_fron_List = ['Android', 'Others', 'iOS', 'Microsoft']
----------
get_Diff_from_list = ['Ubuntu', 'Firefox']
----------
get_Common_from_dict =  {'Android': 61.9, 'iOS': 36.0, 'Microsoft': 2.1, 'Others': 0.1}
----------
get_Identical_from_dict =  {'Microsoft': 2.1}
----------

沒有留言:

張貼留言