Dict
maps hashable values to arbitrary objects
mutable
More than one entry per key not allowed
Keys must be immutable, like strings, numbers, or tuples
Initialize a dict
# Create a dict
dict = {}
# Create a dict with initial values
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
Update
# Change the value of a key word
dict['Name'] = 'Lin'
# Add a new key and value
dict['Major'] = 'CS'
Delete
# Delete an element of the dict
del dict['Name']
# Remove all elements of the dict
dict.clear()
# Remove the whole dict
del dict
Build-in functions
# cmp, compare two dicts
dict1 = {'Name':'Lin', 'Age':37}
dict2 = {'Name':'Lin', 'Age':37}
print cmp(dict1, dict2)
#len, get the number of items in dict
print len(dict1)
#str, convert a dict to a string
print str(dict1)
#type, check type
print type(dict1)
#id, get the memory id of the dict
print id(dict1)
Methods
#!/usr/bin/python
d = {}; #create a dict
d['Name'] = 'Lin';
d['Age'] = 38;
#has_key()
if d.has_key('Name'):
print 'Has key \'Name\'';
if 'Name' in d:
print 'Has key \'Name\'';
#get, returns a value for the given key; if key is not available then returns default value
print d.get('Name');
print d.get('Temp', 'Unknown');
#print d['Temp']; # throw KeyError
#items, return a list of tuples of (key, value) pairs
items = d.items();
print items
#keys, return a list of keys
keys = d.keys();
print keys;
#values, return a list of values
values = d.values();
print values
#setdefault, get the value of key; if key is not available then return default value
print d.setdefault('Age', None); #38
print d.setdefault('Sex', None); #None
#update, add a dict to another dict
d2 = {'Sex': 'M', 'State': 'VA'};
d.update(d2); #{'Name':'Lin', 'Age':38, 'Sex':'M', 'State':'VA'}
print d
#remove and retun an arbitrary key-value pair
print d.popitem();
#!/usr/bin/python
d = {'Name': 'Lin', 'Age': 38, 'Sex': 'M', 'State': 'VA'};
#iterkeys
i = d.iterkeys();
while 1:
try:
e = i.next();
except StopIteration:
break;
else:
print e,
print
#itervalues
iv = d.itervalues();
for v in iv:
print v,
print
#iteritems
it = d.iteritems();
for t in it:
print t;
Resources
Python How to Program
STL