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 ...
随机推荐
- Spring Boot探究之旅--启动分析
刚接触SpringBoot,感觉挺方便的,不用配置那么多乱七八糟的配置,很方便!酒饱思淫欲,得陇望蜀一下,看看SpringBoot到底怎么做到这么方便的. 首先呢,先来看个SpringBoot的hel ...
- java 解耦
探索目的:使用的时候,只需要一次调用就可以完成日常复杂的操作.而工具类的高耦合带来业务代码维护复杂度加大.以 java 的思想对原始工具加以改进. 有没有比这里尝试的方法更高明的,在 A_Utils. ...
- 事务、事务特性、事务隔离级别、spring事务传播特性
事务.事务特性.事务隔离级别.spring事务传播特性 1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功, ...
- JVM 符号引用与直接引用
Java类从加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括,加载 ,验证 , 准备 , 解析 , 初始化 ,卸载 ,总共七个阶段.其中验证 ,准备 , 解析 统称为连接. ...
- DateTimeOffset DateTime
DateTime只保存两部分信息:Ticks和KindTicks 一个Tick是100纳秒(1万Tick等于1毫秒)Ticks记录了从1/1/0001 12:00 AM到现在经过了多少100纳秒.Ki ...
- 阿里云 配置ssl 在nginx上
写给自己的备忘录: 很乱 如果你也是 配置nginx ssl 可以给我留言 ,我是为了 捣鼓微信小程序后台 需要https 阿里云有免费一年的 ssl服务 链接 https://www.aliyun. ...
- orcal - 单行函数
虚拟表:dual 转大写 select UPPER('hellow') from dual; 转小写 select lower(ename) from emp; cmd 输入数据 select * f ...
- leetcode309
使用动态规划,下面的代码可以通过210个测试,最后1个(第211个)会超时.说明思路是正确的,但是其中有一些是无效的计算. class Solution { public: int maxProfit ...
- Android关于API level、buildToolVersion、CompileSdkVersion
API level: API level是一个整数,它指的是我们使用的框架(Framework)的版本,也就是我们使用的sdk中的各个平台下的android.jar. 但是这个API level又和A ...
- Pandas分组
GroupBy技术 分组运算的过程可以用下面的流程图表示出来 import pandas as pd from pandas import Series import numpy as np df = ...