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 ...
随机推荐
- python3笔记<二> List
python数组申明用方括号:例: Arr = ['python','java','javascript'] 截取其中一段元素:例: Arr = [5,6,7,8,9,10,11,12,13,14,1 ...
- Error during artifact deployment. See server log for details.
Error during artifact deployment. See server log for details. 这两个地方要一样.不然.就报 Error during artifact d ...
- RF:操作笔记
1.变量运算
- vue.js+SSH添加和查询
Vue.js 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与 ...
- uboot1.1.6
http://blog.csdn.net/lizuobin2/article/details/52061530
- pyton 模块之 pysmb 文件上传和下载(linux)
首先安装pysmb模块 下载文件 from smb.SMBConnection import SMBConnection conn = SMBConnection('anonymous', '', ' ...
- 在网站中使用UEditor富文本编辑器
UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点. 官网链接 进入到下载页面,选择相应的版本下载 这里我们使用ASP.NET开发,所以选择 ...
- 2019南昌网络赛-M(二分)
题目链接:https://nanti.jisuanke.com/t/38232 题意:给定字符串s(长度<=1e5),然后N组样例(N<=1e5),每组输入一个字符串t判断t是否为s的字串 ...
- Balanced Numbers (数位dp+三进制)
SPOJ - BALNUM 题意: Balanced Numbers:数位上的偶数出现奇数次,数位上的奇数出现偶数次(比如2334, 2出现1次,4出现1次,3出现两次,所以2334是 Balance ...
- [leetcode]20. Valid Parentheses有效括号序列
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...