python 字典相关操作
更新时间:2023-09-05 01:32:01 阅读量: 教育文库 文档下载
- python推荐度:
- 相关推荐
1. 通过健来访问值,例:d[key]。可以通过key来引用value,但不可以通过value来引用key。读取
不存在的key会引发异常,对不存在的key做赋值操作则会为字典增加一对键值。
2. 遍历字典:for key in d.keys() 或者可以直接for key in d 来操作。
3. d.keys()——返回一个包含所有键的list,需要注意该list并不按照字典定义的顺序输出。
4. d.values()——返回一个包含所有值的list,值列表的元素顺序与键列表的顺序一致。
5. d.items()——返回一个list,该list由形如(key, value)的tuple组成。
6. d.copy——得到字典的一个浅拷贝。
7. d.get(key)——若字典中有key则返回d[key],否则返回None。
8. d.get(key,default)——同上,若无则返回default的值。
9. d.has_key(key)——判断是否含有key,含有则返回True,否则False。 10. 判断字典中是否存在某个键,还可以用"in","not in"操作符。
四、字典的增删改
1. 增加字典元素——d['a']='hello'。
2. 删除字典元素——del d['a']或者d.pop('a')。
3. 清空字典元素——d.clear() 从一个字典中清除所有元素。
4. 删除字典对象——del d
5. 把字典a的元素加入到字典d当中,键重复时会覆盖字典d的键值——d.update(a)。
6. 依顺序得到字典的一个键值对并删除,若字典是空的则抛出异常——d.popitem()
7. 删除指定键的键值对,并返回该键对应的值,若键不存在则返回参数v——d.pop(key,[v])
增加字典元素
>>> 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] #
>>> dict
{'yangrong': ['23']}
删除整个字典
>>> dict
{'yangrong': ['23']}
>>> dict.clear() #同del dict
>>> dict
{}
删除yangrong主键的每2字值
将字符串切分为列表
>>> 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) #把内容全部反序列化
增加字典元素
>>> 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" #修改字典中列表某项,
表中第2个字符串。
>>> dict
{'xiaohei': ['22', 'dota2'], 'yangrong':['23', 'IT']}
删除字典元素
>>> dict
{'xiaohei': ['22', 'dota2'], 'yangrong':['23', 'IT']}
>>> del dict['xiaohei'] #删除xiaohei键值
>>> dict
{'yangrong': ['23', 'IT']}
>>> dict 是代表列1
{'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 字典相关操作09-05
2009年山东省德州市中考数学试题及答案(word版)06-17
初中数学竞赛辅导讲义03-20
如何追女生、如何谈恋爱05-19
《数据结构实验》指导书(实验1)201002-29
(春)五年级美术下册 第6课《喜怒哀乐》教案 人教版04-06
第9主题活动:中国的传统节日(小学信息技术4年级)09-03
潮语俚语英语翻译词典03-19
当前家庭保姆问题调查04-01
用好安居客的总结03-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 字典
- 操作
- 相关
- python
- 钢爬梯安装技术交底
- 2015-2020年中国黄酒市场分析及发展趋势研究报告
- 2013年7月杭州社保缴纳比例及金额
- 最新2016贵州省人口与计划生育条例修正案公布(全文)
- 中心校学校重点部位日巡查记录表
- 建筑物沉降观测标准及验收规范
- 信息化时代下高校的德育教育
- 班主任表扬艺术
- TSG特种设备安全技术规范 TSG R4001-2006
- 混合背包问题的算法设计与分析
- IPD研发项目任务书(示例)
- 2018-2019学年苏教版小学数学一年级上册《连加连减》教学设计-一等奖教案
- 英语修辞的翻译_unit_20
- 息烽县总体规划纲要说明(征求意见稿)
- 广东省佛山一中2013-2014学年高一上学期段考地理理试题 Word版含答案
- 2015年注册造价工程师《建设工程技术与计量(土建工程部分)》重点难点练习试题
- 毕业论文--无线网络各领域安全性探索
- 2018年国家开放大学《人文英语(1)》期末考试复习资料
- 回归分析 实验报告
- 人大《统计学》第三章 数据的描述1