Python-字典(dict)
字典是一种key-value的数据类型,字典里必须写Key和value;
字典的优点是取数方便和速度快。
字典的定义使用大括号{ },每个值用“,”隔开,key和value使用“:”分隔。
value可以取任何数据类型,但key必须是不可变的,如字符串,数字或元组。
创建一个字典infos:
infos = {
'name':'黄1',
'sex':'女',
'addr':'火星',
'age':22
}
一、增加元素:
infos['phone']=15200000000 #增加key
infos.setdefault('小金库','200w')
infos.setdefault('name','黄2') #如果key存在的话不会修改原来key的值
infos['name']='黄2'#如果key存在,会修改原来key对应的值
a={'K1':'V1'}
b={'K2':'V2'}
a.update(b) #把b的元素加入到a的字典里
print(a) #打印结果:{'K2': 'V2', 'K1': 'V1'}
二、删除元素:
infos.pop('name') #指定key来删除
infos.popitem() #随机删除一个key
del infos['phone'] #指定key来删除
infos.clear() #清空字典
三、修改元素:
infos['name']='黄2'#如果key存在,会修改原来key对应的值
四、查找元素:
print(infos['sex']) #key不存在会报错
print(infos.get('nam',110)) #如果取不到key的话,默认就是110
五、字典的内置方法:
print(infos.values()) #获取到字典所有的值
print(infos.keys()) #获取到字典所有的key
print(infos.items()) #获取到字典所有的key和值
六、循环(直接循环一个字典的话,循环的是key的值):
for p in people:
print(p)
for k,v in people.items(): #循环的时候,同时取key和value
print(k,v)
字典小练习:
- 校验输入的账号密码
users = {}
for i in range(3):
username = input('请输入账号:').strip()
passwd = input('请输入密码:').strip()
cpsswd = input('请再次输入密码:').strip()
if username=='' or passwd=='' or cpsswd=='':
print('用户名/密码不能为空')
elif username in users: #字典里面用in来判断的话,只是判断Key是否存在
print('用户名已经被注册')
elif passwd != cpsswd:
print('两次输入的密码不一致')
else:
print('恭喜注册成功!')
# users.setdefault(username,passwd)
users[username] = passwd
break
else:
print('错误次数过多')
print(users)
- 录入学生作业情况
1.查看学生作业情况;2.录入学生作业情况
homework = {
'黄1':{
'2018-6-6':'未交'
}
}
check = input('请选择:1.查看学生作业情况;2.录入学生作业情况')
if check =='':
for k,v in homework.items(): #循环取到所有的key和value
print(k,v)
elif check =='':
for i in range(3):
name = input('输入名字:').strip()
time = input('输入时间:').strip()
status = input('输入状态:').strip()
if name=='' or time=='' or status=='':
print('输入不能为空')
else:
if name in homework: #判断name是否存在在字典里
homework[name][time] = status #二维字典赋值
break
else:
homework[name] = {time:status}
print('成功')
break
print(homework)
Python-字典(dict)的更多相关文章
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- Python 字典 dict() 函数
描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...
- 'dict_values' object does not support indexing, Python字典dict中由value查key
Python字典dict中由value查key 众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句 ...
- python 字典dict - python基础入门(15)
前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict. python中的字典可与字符串/列表/元组不同,因为 ...
- Python字典(dict)使用技巧
字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...
- python 字典 dict 该注意的一些操作
在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...
- python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序 ...
- python 字典dict和列表list的读取速度问题, range合并
python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...
- Python 字典dict 集合set
字典dict Python内置字典,通过key-value进行存储,字典是无序的,拓展hash names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75 ...
- 使用 json 模块,使json数据格式与Python字典dict数据格式互相转换,获取数据更加方便
一.定义 JSON 是一种数据格式 使用 javaScript (Java 死鬼破特)对象表示法 二.特点 1.JSON 与 XML格式数据的区别 ====== 两种格式的数据,都是跨语言,跨平台 c ...
随机推荐
- 【亲测】502 Bad Gateway 怎么解决?
502 Bad Gateway 怎么解决? 1.什么是502 badgateway 报错 简单来说 502 是报错类型代码,bad gateway 错误的网关. 2.产生错误的原因 连接超时 具体原因 ...
- Ubuntu16.04下修改MySQL数据的默认存储位置
由于在Linux下MySQL默认是存储在/var/lib/mysql目录下,mysql的数据会非常大,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修改一下,放到大分区里面,以便 ...
- thinkphp5 Exception类重定义
重点定义自己的错误信息和错误码: 在TP5的配置文件中有下面一段 // 异常处理handle类 留空使用 \think\exception\Handle 'exception_handle' => ...
- Mac OS X系统 用dd命令将iso镜像写入u盘
一. Mac下将ISO写入U盘可使用命令行工具dd,操作如下: 1.找出U盘挂载的路径,使用如下命令:diskutil list2.将U盘unmount(将N替换为挂载路径):diskutil unm ...
- django 的model是如何把字段加入到meta中的
def contribute_to_class(self, cls, name): self.set_attributes_from_name(name) self.model = cls cls._ ...
- centos下安装djangobb
曾经在freenas虚拟环境下安装过djangobb,因为要安装的依赖文件太多,最后没有安装成功. 今晚在centos6.9 下,先创建了虚拟环境,然后照着官方网站的快速安装指南,安装后也运行不了,后 ...
- web监控,if 语句
对页面的测试 curl "] #if [`curl -I http://10.0.0.7 &>/dev/null|head -l|grep 200|wc -l` -eq 1] ...
- HttpWebResponse远程服务器返回错误: (500) 内部服务器错误 的解决办法
在工作中用C#开发了一个小程序,不断访问去请求一个网站的页面,在循环过程中有时会报“远程服务器返回错误: (500) 内部服务器错误”,有时不会,出现的时机也不太一样.开始以为是网站的问题,后来网站是 ...
- ccc切割刚体
// http://www.emanueleferonato.com/2011/08/05/slicing-splitting-and-cutting-objects-with-box2d-part- ...
- nexus的安装和简介
下载nexus Nexus 是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等. 下载Nexus, 下载地址:http://www.s ...