|
|
- from collections import defaultdict
-
-
- stocks = {"GOOG": (613.30, 625.86, 610.50),
- "MSFT": (30.25, 30.70, 30.19)}
-
- # different possibilities to get values from the dictionary
- print("GOOG: {}".format(stocks["GOOG"]))
- print("RIM: {}".format(stocks.get("RIM", "NOT FOUND")))
- stocks.setdefault("RIM", (67.38, 68.48, 67.28))
- print("RIM: {}".format(stocks["RIM"]))
-
- for stock, values in stocks.items():
- print("{} last value is {}".format(stock, values[0]))
-
- random_keys = {}
- random_keys["astring"] = "somestring"
- random_keys[5] = "aninteger"
- random_keys[25.2] = "floats work too"
- random_keys[("abc", 123)] = "so do tuples"
-
-
- class AnObject(object):
-
- def __init__(self, avalue):
- self.avalue = avalue
-
-
- my_object = AnObject(14)
- random_keys[my_object] = "We can even store objects"
- my_object.avalue = 12
-
- try:
- random_keys[[1, 2, 3]] = "We can't store lists though"
- except:
- print("unable to store list \n")
-
- for key, value in random_keys.items():
- print("{} has value {}".format(key, value))
- if hasattr(key, "avalue"):
- print("{}.avalue ={}".format(key, key.avalue))
-
-
- def letter_frequency(sentence):
- frequencies = {}
- for letter in sentence:
- frequency = frequencies.setdefault(letter, 0)
- frequencies[letter] = frequency + 1
- return frequencies
-
- print(letter_frequency("Hello world, what's going on?"))
-
-
- # defaultdict using built-in function
- def letter_frequency_defdict(sentence):
- frequencies = defaultdict(int)
- for letter in sentence:
- frequencies[letter] += 1
- return frequencies
-
- print(letter_frequency_defdict("Hello world, what's going on?"))
-
-
- # defaultdict using self defined function
- num_items = 0
-
-
- def tuple_counter():
- global num_items
- num_items += 1
- return num_items, []
-
- d = defaultdict(tuple_counter)
-
- d['a'][1].append("hello")
- d['b'][1].append("world")
-
- print(d)
|