Python 字典 (很乱,只写给自己看的)

在写程序时不能用到的python关键字

dict,list,file,bool,str,input,len

字典可以和所有标准类型的操作符一起工作,但不支持拼接和重复操作,

cmp() 内建函数的:首先比较字典大小,然后是键,然后是值  ,一般不是很有用


dict()工厂函数,如果不提供参数生成空字典

当容器类型对象做为一个参数传
递给方法 dict() 时很有意思。如果参数是可以迭代的,即,一个序列,或是一个迭代器,或是一个
支持迭代的对象,那每个可迭代的元素必须成对出现。在每个值对中,第一个元素是字典的键、第
二个元素是字典中的值

如果输入参数是(另)一个映射对象,比如,一个字典对象,对其调用 dict()会从存在的字典里
复制内容来生成新的字典。新生成的字典是原来字典对象的浅复制版本, 它与用字典的内建方法
copy() 生成的字典对象是一样的。但是从已存在的字典生成新的字典速度比用 copy()方法慢,我们
推荐使用 copy()。
dict([['x', 1], ['y', 2]])
dict(x=1, y=2)


copy()函数

dict1 = {'name':'zhangsan','age':21}

dict2 = dict1.copy()

print dict1,dict2

dict2['name'] = 'tiantian'

print dict1,dict2


len()函数

len(dict1)   #返回所有元素(键-值对)的数目

字典中的元素是没有顺序的。从上面的例子中可以看到,dict2 的元素显示的顺序
和输入时的顺序正相反。


hash(obj) 返回 obj 的哈希值


keys()方法,返回一个列表,包含字典中所有的键,

values()方法,返回一个列表,包含字典中所有的值,

items(), 返回一个包含所有(键, 值)元


方法名字  操作
dict.clear() 删除字典中所有元素
dict.copy()  返回字典(浅复制)的一个副本 

dict.fromkeys(seq, val=None)   创建并返回一个新字典,以 seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为 None) 


dict.get(key, default=None)      对字典 dict 中的键 key,返回它对应的值 value,如果字典中不存在此键,则返回 default 的值(注意,参数 default 的默认值为 None) 


dict.has_key(key)  如果键(key)在字典中存在,返回 True,否则返回 False. 在 Python2.2版本引入 in 和 not in 后,此方法几乎已废弃不用了,但仍提供一个可工作的接口。

dict.items()  返回一个包含字典中(键, 值)对元组的列表 


dict.keys()  返回一个包含字典中键的列表 


dict.iter()方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。 


dict.pop(key [, default])和方法 get()相似,如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发 KeyError 异常。


dict.setdefault(key, default=None)和方法 set()相似,如果字典中不存在 key 键,由 dict[key]=default 为它赋值。 


dict.update(dict2)将字典 dict2 的键-值对添加到字典 dict 


dict.values() 返回一个包含字典中所有值的列表

在 Python 2.4 版本以前,你只能调用字典的 keys()方法获得键的列表,然后调用列表的 sort()
方法得到一个有序可遍历的列表。现在特别为迭代子设计了一个名为 sorted()的内建函数,它返回
一个有序的迭代子:
>>> for eachKey in sorted(dict2):
... print 'dict2 key', eachKey, 'has value',
dict2[eachKey]
...
dict2 key name has value earth
dict2 key port has value 80


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值