首页 / 操作系统 / Linux / 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 的详细介绍:请点这里
Python 的下载地址:请点这里推荐阅读:《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm