除了 list 之外, Python 还有两个比较常用的数据结构,就是本文所介绍的元组和字典.元组其实就相当于数组.其元素的大小无法改变.
元组表示
赋值(用圆圆括号包含元素)
1tuple = (1, 2, 'hi') 2print len(tuple) ## 3 3print tuple[2] ## hi
更改元素
1# 报错,元组元素无法更改 2tuple[2] = 'bye' 3# this works 4tuple = (1, 2, 'bye')
字典表示
赋值
1# 可以以{}开始构建空字典,然后以赋值的形式给字典添加键值对 2dict = {} 3dict['a'] = 'alpha' 4dict['g'] = 'gamma' 5dict['o'] = 'omega' 6 7print dict ## {'a': 'alpha', 'o': 'omega', 'g': 'gamma'}
查看和更改元素
1print dict['a'] # 查看'a'对应的值 'alpha' 2dict['a'] = 6 # 给'a'重新赋值 3 4if 'z' in dict: print dict['z'] # 避免报错 5print dict.get('z') # None (instead of KeyError)
字典方法
获取字典关键字
1dict.keys()
获取字典值
1dict.values()
获取字典键值对(返回的是一个元组链表)
1dict.items()
循环中获取键和值
1for k,v in dict.items(): 2 print k, '>', v
删除元素(对 list 也适用)
1dict = {'a':1, 'b':2, 'c':3} 2del dict['b'] # 删除'b'元素 3print dict ## {'a':1, 'c':3}
字典排序
sorted 方法
1dict1={'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1} 2 3#对字典按值排序,以元组的形式返回 4print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True) 5#对字典按键排序,以元组的形式返回 6print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)