关于python字典操作用法总结

基本语法:

dict = {‘ob1′:’computer’, ‘ob2′:’mouse’, ‘ob3′:’printer’}

技巧:

字典中包含列表:dict={‘yangrong’:[’23’,’it’],”xiaohei”:[’22’,’dota’]}

字典中包含字典:dict={‘yangrong’:{“age”:”23″,”job”:”it”},”xiaohei”:{“‘age’:’22’,’job’:’dota'”}}

可用命令:

root@yangrong:~# cd /python

root@yangrong:/python# python

python 2.7.5+ (default, sep 19 2013,13:48:49)

[gcc 4.8.1] on linux2

type “help”,”copyright”, “credits” or “license” for moreinformation.

>>> import tab

>>> d={}

>>> d.

d.class( d.ge( d.len( d.setitem( d.has_key( d.setdefault(

d.cmp( d.getattribute( d.lt( d.sizeof( d.items( d.update(

d.contains( d.getitem( d.ne( d.str( d.iteritems( d.values(

d.delattr( d.gt( d.new( d.subclasshook( d.iterkeys( d.viewitems(

d.delitem( d.hash d.reduce( d.clear( d.itervalues( d.viewkeys(

d.doc d.init( d.reduce_ex( d.copy( d.keys( d.viewvalues(

d.eq( d.iter( d.repr( d.fromkeys( d.pop(

d.format( d.le( d.setattr( d.get( d.popitem(

>>> d.

增加字典元素

>>> nameinfo={}

>>> nameinfo[‘a1′]=’yangrong’ #若字典里有a1主键,则覆盖原来的值,没有,则添加

>>> nameinfo

{‘a1’: ‘yangrong’}

遍历字典主键与键值

>>> for k, value innameinfo.items():

… print k,value

a1 yangrong

查看字典所有主键

>>> dict = {‘ob1′:’computer’,’ob2′:’mouse’, ‘ob3′:’printer’}

>>>

>>>

>>> dict.keys()

[‘ob2’, ‘ob3’, ‘ob1’]

判断字典中是否有该主键

>>> dict.keys()

[‘ob2’, ‘ob3’, ‘ob1’]

>>> dict.has_key(‘ob2′) #或’ob2’ in dict

true

>>> dict.has_key(‘ob4’)

false

也有人用循环方法来判断

for key in dict.keys():

但是这种方法毕竟不够简洁,

查看字典所有键值内容

>>> dict = {‘ob1′:’computer’,’ob2′:’mouse’, ‘ob3′:’printer’}

>>> dict.values()

[‘mouse’, ‘printer’, ‘computer’]

列出所有项目

>>> dict.items()

[(‘ob2’, ‘mouse’), (‘ob3’, ‘printer’),(‘ob1’, ‘computer’)]

清空字典

>>> dict.clear()

>>> dict

{}

拷贝字典

>>> dict

{‘ob2’: ‘mouse’, ‘ob3’: ‘printer’, ‘ob1′:’computer’}

>>> a=dict

>>> a

{‘ob2’: ‘mouse’, ‘ob3’: ‘printer’, ‘ob1′:’computer’}

>>> b=dict.copy()

>>> b

{‘ob2’: ‘mouse’, ‘ob3’: ‘printer’, ‘ob1’: ‘computer’}

比较字典

>>> cmp(a,b)

首先比较主键长度,然后比较键大小,然后比较键值大小,(第一个大返回1,小返回-1,一样返回0)

更新字典

>>>dict={‘yangrong’:{“age”:”23″,”job”:”it”},”xiaohei”:{“‘age’:’22’,’job’:’dota'”}}

>>> dict

{‘xiaohei’:set([“‘age’:’22’,’job’:’dota'”]), ‘yangrong’: {‘age’: ’23’, ‘job’:’it’}}

>>> dict[‘xiaohei’]=111 #修改一级字典

>>> dict

{‘xiaohei’: 111, ‘yangrong’: {‘age’: ’23’,’job’: ‘it’}}

>>> dict[‘yangrong’][‘age’]=25 #修改二级字典

>>> dict

{‘xiaohei’: 111, ‘yangrong’: {‘age’: 25,’job’: ‘it’}}

>>> dict={‘yangrong’:[’23’,’it’],”xiaohei”:[’22’,’dota’]}

>>>dict[‘xiaohei’][1]=”dota2″ #修改字典中列表某项,1是代表列表中第2个字符串。

>>> dict

{‘xiaohei’: [’22’, ‘dota2’], ‘yangrong’:[’23’, ‘it’]}

删除字典元素

>>> dict

{‘xiaohei’: [’22’, ‘dota2’], ‘yangrong’:[’23’, ‘it’]}

>>> del dict[‘xiaohei’] #删除xiaohei键值

>>> dict

{‘yangrong’: [’23’, ‘it’]}

>>> dict

{‘yangrong’: [’23’, ‘it’]}

>>>

>>> del dict[‘yangrong’][1] #删除yangrong主键的每2字值

>>> dict

{‘yangrong’: [’23’]}

删除整个字典

>>> dict

{‘yangrong’: [’23’]}

>>> dict.clear() #同del dict

>>> dict

{}

将字符串切分为列表

>>> s=”hello world bye”

>>> s.split() #用于把有规律的文本,读取出来后,使用列表进行修改,再写入文件。

[‘hello’, ‘world’, ‘bye’]

将列表转换为字符串

s.split(str, ‘ ‘) #将string转list,以空格切分

存储字典(pickle序列化)

#需导入pickle模块 import pickle

把字典内容存入文件

f=file(‘data.txt’,’wb’) #新建文件data.txt,’wb’,b是打开块文件,对于设备文件有用

pickle.dump(a,f) #把a序列化存入文件

f.close()

把内容读入字典(反序列化)

a=open(‘data.txt’,’rb’) #打开文件

print pickle.load(a) #把内容全部反序列化

以上就是关于python字典操作用法总结的详细内容,更多请关注 第一php社区 其它相关文章!

Posted in 未分类