字典操作

字典一种key - value 的数据类型

  1. 特性:
  2. 无顺序
  3. 去重
  4. 查询速度快,比列表快多了
  5. 比list占用内存多

语法:

info = {
'abc001': "Ben",
'abc002': "Mike",
'abc003': "John",
}

字典的特性

  • 字典是无序的
  • key必须是唯一的

查找

>>> info = {
... 'abc001': "Ben",
... 'abc002': "Mike",
... 'abc003': "John",
... }
>>>
>>>
>>> print(info.get("abc001"))
Ben
>>>
>>> print("abc003"in info) // 标准用法
True
>>> // 反馈True为查找到 ,false为查不到

添加

info = {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}
>>> info['abc004']='Tom' //添加
>>> print(info)
{'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John', 'abc004': 'Tom'}
>>>

取值

>>>
>>> info
{'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John', 'abc004': 'Tom'}
>>>
>>>
>>> print(info['abc001'])
Ben
>>>
>>>
>>> print(info['abc004'])
Tom
>>>

另一种字典取值方式

get()

>>>
>>> a = {'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John', 'abc004': 'Tom'}
>>>
>>> a.get('abc001')
'Ben' >>> a.get('abc002')
'Mike'
>>>

删除

>>> info
{'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John', 'abc004': 'Tom'}
>>>
>>> info.pop("abc004") # 标准删除
'Tom'
>>> info
{'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John'} # 不加参数默认删除最后一个值
>>> d = [1,2,3,4,5]
>>>
>>> d.pop()
5
>>> d
[1, 2, 3, 4] >>>
>>> info.popitem() # 随机删除
('abc003', 'John')
>>> info
{'abc001': 'Ben', 'abc002': 'Mike'}
>>>
# del 是Python通用删除方法
>>> del info['abc001']
>>> info
{'abc002': 'Mike'}
>>>

循环dict

info = {
'abc001': "Ben",
'abc002': "Mike",
'abc003': "John"
}
//字典循环
for i in info:
print(i,info[i])

其他

keys values update items

##keys

>>> info = {
... 'abc001': "Ben",
... 'abc002': "Mike",
... 'abc003': "John"
... }
>>> print(info)
{'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John'}
>>> #values
>>> print(info.values()) #把所有的值打印不包括Key
dict_values(['Ben', 'Mike', 'John']) #keys
>>> print(info.keys()) #把所有Key打印出来,不包括values
dict_keys(['abc001', 'abc002', 'abc003'])
>>>
>>> #update
>>> b ={
... 'stu1101': "alex",
... 1:2,
... 3:4
... }
>>> info.update(b) #合并字典,没有的创建新的,存在的覆盖
>>> print(info)
{'abc001': 'Ben', 'abc002': 'Mike', 'abc003': 'John', 'stu1101': 'alex', 1: 2, 3
: 4}
>>>
>>> #items
>>> print(info.items()) #字典转换列表
dict_items([('abc001', 'Ben'), ('abc002', 'Mike'), ('abc003', 'John'), ('stu1101
', 'alex'), (1, 2), (3, 4)])
>>>

python3 循环字典两种方法

items()

>>> D = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.
taobao.com'} >>> for k,v in D.items():
... print(k,v)
... >>> D.items()
dict_items([('Google', 'www.google.com'), ('Runoob', 'www.runoob.com'), ('taobao
', 'www.tao.com')]) # 执行结果
Google www.google.com
Runoob www.runoob.com
taobao www.taobao.com

这种方法,大数据时候不要用,因为要把字典转换成一个列表元组,对占用性能。

推荐循环字典方法:

>>> for i in D:
... print(i,D[i])
... # 执行结果
Google www.google.com
Runoob www.runoob.com
taobao www.tao.com

最新文章

  1. OpenGL学习笔记2——顶点数组
  2. C# 如何在Excel 动态生成PivotTable
  3. 关于Oracle10G在库内导数据时,用到的更新语句----ZT
  4. WindowsCE project missing - 转
  5. html 把左框的选中项添加到右框
  6. NS3 日志(Logging)、命令行参数、Tracing系统概述(转载)
  7. CIC and Fir 滤波器的级联
  8. c++使用stmp协议发送电子邮件(163邮箱,TTL非SSL)
  9. postgresql删除属性
  10. 关于sqlmap使用手册
  11. Servlet--传参和接参
  12. C++对象模型的那些事儿之四:拷贝构造函数
  13. 五年级--python函数高级运用
  14. python3_list
  15. JSON.Net 自定义Json序列化时间格式
  16. github及git使用
  17. php header函数导出excel表格
  18. PHP 练习(租房子)
  19. 各种版本的ST-LINK仿真器
  20. create-react-app中img图片不现实

热门文章

  1. thinkjs2.2中的定时任务
  2. React Native(五)——获取设备信息react-native-device-info
  3. codeforces水题100道 第二十一题 Codeforces Beta Round #65 (Div. 2) A. Way Too Long Words (strings)
  4. (原创)Android Binder设计与实现 - 实现篇(1)
  5. 深入理解 Neutron -- OpenStack 网络实现(2):VLAN 模式
  6. ( ( (int(*)(uint, ushort, uint *, uint, int)) (*((uint *)(TCM_BASE + 0x8))) ) (a,b,c,d,e) )
  7. Excel 2010 得到当天的日期/得到一年中的第几周/得到当前一周中的星期几
  8. wireshark和RawCap跟踪并解决中文乱码问题
  9. [Apio2008]免费道路[Kruscal]
  10. web开发之Cookie使用