python 基础 字典
字典操作
字典一种key - value 的数据类型
- 特性:
- 无顺序
- 去重
- 查询速度快,比列表快多了
- 比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
python 基础 字典的更多相关文章
- python基础--字典
Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...
- python基础—字典
阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...
- python基础——字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...
- Python基础:字典(dict)与集合(set)
查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...
- python基础——字典
字典内置函数&方法 Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 ...
- Python基础--字典:当索引不好用时
当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'1 ...
- Python基础——字典和有序字典
字典 说明: 在 Python 中, 字典 是一系列 键 — 值对 .每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何 Pyt ...
- python基础——字典dict
1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...
- Python基础——字典(dict)
由键-值对构建的集合. 创建 dic1={} type(dic1) dic2=dict() type(dic2) 初始化 dic2={'hello':123,'world':456,'python': ...
随机推荐
- MVC的初步认识理论
说起来写博客可以说一个月没来啦,我们狠狠的放假一个月,想一想都奇怪.而是想一下以后的假期还会这样吗?或许这是作为学生的我们的最后一个长的假期啦,以后就要面对工作再也没有寒假暑假之分啦,在这一个月的时间 ...
- input回车问题
今天有一个问题,就是input对象没有加任何事件自己回车导致跳到了404页面.处理的时候,并发现没找到回车事件的控制. 那么只有一种情况,就是自带的回车控制. 百度了一下,如下面博文里面的写法.我这边 ...
- WP8.1学习系列(第二十六章)——控件模板
在本文中 自定义控件模板示例 指定控件的可视结构. 指定控件的可视行为 使用工具轻松处理主题 控件和辅助功能 了解有关控件默认模板的详细信息 控件模板中的主题资源 相关主题 在 XAML 框架中,如果 ...
- gulp生成发布包脚本
var formPost = require('./tools/submit.js');var gulp = require('gulp'), zip = require('gulp-zip'), h ...
- EXPLAIN 具体含义 ( type possible_key key key_len ref )
- cout快捷转换进制
cout<<hex<<i<<endl; //输出十六进制数 cout<<oct<<i<<endl; //输出八进制数 cout& ...
- ZOJ1363 Chocolate
Chocolate Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge In 2100, ACM chocolat ...
- Linux下应急工具
Linux下的应急工具 在Linux下,应急的查看点无非那个几个,一是看表现(宕机.高CPU.高内存.高IO.高网络通信),二看连接.三看进程.四看日志.五看文件(Linux一切皆文件),再者结合起来 ...
- Windows Phone Bing lock screen doesn't change解决方法
之前一直用的Lumia 925,Bing lock screen每天都会更换.这几天换了Lumia 930,同步了账号相关的设置,发现Bing lock screen不再每天更换.尝试重启.使用cel ...
- tomcat启动报错“Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: iZ25fsk1ifk: iZ25fsk1ifk”
在启动了Tomcat的时候出现下面的错误,导致启动不了,卡在读日志的状态 Error: Exception thrown by the agent : java.net.MalformedURLExc ...