python 之 字典、有序字典

python 字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。

* 有序字典(OrderedDict):

>>> from collections import OrderedDict
>>> a=OrderedDict({})
>>> a
OrderedDict()
>>> a['a'] =1
>>> a['b'] =2
>>> a['c']=3
>>> a
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> for k, v in a.items():
...     print k, v
...
a 1
b 2
c 3
>>> b = {}
>>> b['a']=1
>>> b['b']=2
>>> b['c']=3
>>> b
{'a': 1, 'c': 3, 'b': 2}
>>> for k, v in b.items():
...     print k,v
...
a 1
c 3
b 2
a 是一个OrderedDict,有序字典,它会按照添加的顺序显示字典。而b 是普通字典,是无序的。


例: dict = {'Alice':'123','Beth':'23','Cecil':'234'}

注意:每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号({})。键必须独一无二

a. 访问字典里的值:(把相应的键放入熟悉的放括弧)

 #dict['Alice'] = '123'

 如果用字典没有的键访问,会输出错误:KeyError。

b. 修改字典:(向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值)

 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 dict['Age'] = 8; # update existing entry
 dict['School'] = "DPS School"; # Add new entry

c. 删除字典元素:(能删单一的元素也能清空字典,显示删除一个字典用del命令)

 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 del dict['Name']; # 删除键是'Name'的条目
 dict.clear();     # 清空词典所有条目
 del dict ;        # 删除词典

d. 字典键的特性:
 1. 不允许同一个键出现两次;

 2. 键必须不可变,所以可以用数,字符串或元组充当,不能用列表。

e. 字典内置函数&方法:

 1. cmp(dict1,dict2) : 比较两个字典元素;

 2. len(dict) : 计算字典元素个数,即键的总数;

3. str(dict) : 输出字典可打印的字符串表示。

dict.clear() : 删除字典所有元素

dict.copy() : 返回一个字典的浅复制

dict.fromkeys() : 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

dict.get(key,default=None) : 返回指定键的值,如果值不在字典中返回default值

dict.has_key(key) : 如果键在字典dict里返回true,否则返回false

dict.items() : 以列表返回可遍历的(键,值)元组数组

dict.keys() : 以列表返回一个字典所有的键

dict.setdefault(key,default=None) : 和get()类似,如果键不存在于字典中,将会添加键并将值设为default

dict.update(dict2) : 把字典dict2的键/值对更新到dict里

dict.values() : 以列表返回字典中的所有值

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值