day06 小数据池和编码
一. 上次课内容回顾
字典:
由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据
key: 不可变的. 可哈希的.
增删改查:
1. 增加: 直接用新key来赋值. dict[key] = value setdefault()
2. 删除: pop(key), popitems(), clear(), del dict[key]
3. 修改: dict[key] = value, update()
4. 查询: get(key) dict[key] setdefault()
5. 常用操作:
1. keys() 拿到所有的key
2. values() 拿到所有的value
3. items() 拿到所有的键值对. (key, value)
6. 字典的遍历
for k,v in dict.items():
for k in dict:
dict[k]
二. 作业讲解
三. 今日主要内容
1. 小数据池.
目的:缓存我们字符串,整数,布尔值。在使用的时候不需要创建过多的对象
缓存:int, str, bool、
int: 缓存范围 -5~256
str:
1. 长度小于等于1,直接缓存
2. 长度大于1. 字符串中如果只有数字, 字母, 下划线。 就会缓存
3. 乘以1。 同上, 乘以大于1的数。仅包含数字,字母下划线。最终长度小于20会缓存
4. 使用sys模块中的intern()缓存字符串
代码块的关系:如果在同一个代码块中。默认的整数和字符串还有布尔值都会进行缓存. 如果涉及计算。尊崇上面的规则
如果跨代码块,按照上面的规则执行的
2. is和==的区别
is比较的是内存地址
==比较的是值
3. decode和encode
python3内存中使用的是unicode。
unicode => utf-8 encode("utf-8")
utf-8 => unicode decode("utf-8")
utf-8和gbk不能直接转换
bytes是字符串的另一种表示形式
预习:
list和dict相关操作
set集合(粗略的看一看)
深浅拷贝(难)
1,老男孩好声⾳选秀⼤赛评委在打分的时候呢, 可以进⾏输入. 假设, 老男孩有10个评委. 让10个评委进⾏打分, 要求, 分数必须⼤于5分, ⼩于10分.
score_list=[]
count=0
welcome='''*******Welcome*******
欢迎大家给老男孩好声选秀大赛评分!
'''
print(welcome)
sum=0
while count>=0 and count<10:
count += 1
score=input("请第%s位评委输入评分:" % (count))
if score.isdigit():
score=float(score)
if score>5 and score<=10:
score_list.append(score)
else:
print("输入的分数不妥,请重新输入")
count=count-1
continue
else:
print("输入不合法!")
count = count - 1
continue
score_list.sort()
min=score_list.pop(0)
max=score_list.pop()
for i in range(len(score_list)):
sum +=float(score_list[i])
print("""
*******分数*******
去掉一个最低分%s
去掉一个最高分%s
左后得分是>>>>%s
"""%(min,max,sum/len(score_list)))
2.
电影投票. 程序先给出个前正在上映的电影列表. 由用户给每个电影投票. 最终将该户投票信息公布出来 lst = ['⾦瓶梅', '解救吾先⽣', '美国往事', '西西里的美丽传说'] 结果: {'⾦瓶梅': 99, '解救吴先⽣': 80, '美国往事': 6, '西西里的美丽传说': 23}
lst = ['瓶梅', '解救吾先⽣', '美国往事', '西西里的美丽传说']
score_list={}
print("请客观公正的给一下电影进行评分!")
for i in range(len(lst)):
score=input("请给>>%s<<<输入你的评分"%(lst[i]))
score_list.setdefault(lst[i],score)
print(score_list)
3.念数字.给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号. 然后由用户输入一个数字. 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)
dict={
"-":"fu",
"0":"ling",
"1":"yi",
"2":"er",
"3":"san",
"4":"si",
"5":"wu",
"6":"6",
"7":"qi",
"8":"ba",
"9":"jiu",
".":"dian",
}
num=input("请输入一个整数")
if num.isdigit() or num.startswith("-"):
for numi in num:
for k ,v in dict.items():
if numi ==k:
print(v,end=" ")
else:
print("你咋不听话捏?重新运行输入数字")
4.车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量.
cars=["鲁A32444","鲁B12333","京B8989M","黑C46555","沪B25041","沪B25041","湘B25041","贵A2345","贵A2345","贵A2345"]
locals={"沪":"上海","黑":"黑龙江","鲁":"山东","鄂":"湖北","湘":"湖南","京":"北京","贵":"贵州"}
list=[]
str="_"
count_car={}
count_car1={}
for first in cars:
list.append(first[0])
str=str.join(list)
for key,value in locals.items():
count_car.setdefault(value,str.count(key))
for key2, value2 in count_car.items():
if value2!=0:
count_car1.setdefault(key2,value2)
print(count_car1)
cars=["鲁A32444","鲁B12333","京B8989M","黑C46555","沪B25041","沪B25041","湘B25041"]
locals={"沪":"上海","黑":"黑龙江","鲁":"山东","鄂":"湖北","湘":"湖南","京":"北京","贵":"贵州"}
list=[]
str="_"
count_car={}
for first in cars:
list.append(first[0])
str=str.join(list)
for key,value in locals.items():
count_car.setdefault(value,str.count(key))
print(count_car)
5干掉主播. 现有如下主播收益信息, 按照要求, 完成相应操作:

zhubo={"卢本伟":12200,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126,}
sum=0
for k,v in zhubo.items():
sum+=v
print("主播的平均工资:%s"%(sum/len(zhubo)))
dict1={}zhubo={"卢本伟":12200,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126,}sum=0for k,v in zhubo.items(): sum += v avr=sum/len(zhubo)print(avr)for k,v in zhubo.items(): if v>avr: dict1.setdefault(k,v)print(dict1)
zhubo={"卢本伟":12200,"冯提莫":189999,"金老板":99999,"吴老板":25000000,"alex":126,}
zhubo.pop("卢本伟")
print(zhubo)
day06 小数据池和编码的更多相关文章
- python学习笔记:第6天 小数据池和编码转换
目录 1. id 和 == 2. 小数据池 3. 编码和解码 1. id 和 == id:id是一个内置的函数,可以查看变量存放的内存地址(实际上不是真正的物理地址,这里暂时这样理解),用于判断是变量 ...
- day06——小数据池、深浅拷贝、集合
day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # a = 10 # b = 10 # print(a == b) ...
- day06 小数据池,再谈编码
今日所学 一. 小数据池 二. is 和==的区别 三. 编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块 ...
- python 浅谈小数据池和编码
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code b ...
- python:id与小数据池与编码
一.id与小数据池 id:查的是内存地址 a = 100 b = 100 print(a == b)#比较的数值 print(a is b)#比较的是id print(id(a),id(b))#id相 ...
- 06_python_小数据池/ is == /编码
一.小数据池 1.代码块 python程序是由代码块构成的.一个代码块的文本作为python程序执行的单元.代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一 ...
- 《Python》 代码块、小数据池和编码转换
一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 什么是代码块:一个py文件,一个函数,一个文件,一个类都是一个代码块. 作为交互方式输入的每一行 ...
- python基础4(小数据池,编码,深浅拷贝)
1.==与is == 比较值是否相等 is比较内存地址是否相同 2.小数据池 为了节省内存,当数据在一个范围里的时候,两个值相同的变量指向的是小数据池里的同一个地址 数字范围:-5 ~ 256 num ...
- 6,id 小数据池,编码and解码。
asscii :8位(数字,英文,特殊字符)表示一个字符. A:0000 0001 unicode :(万国码)初期:16位,两个字节,表示两个字符. A:0000 0001 0000 0001 中: ...
随机推荐
- [arc065E]Manhattan Compass[曼哈顿距离和切比雪夫距离转换]
Description 传送门 Solution 题目要求的是曼达顿距离,对于每个点(x,y),我们把它变为(x-y,x+y),就可以转换成求切比雪夫距离了. 证明如下:$max(\left | (x ...
- OpenCV中Mat的属性
OpenCV中Mat的属性 最近在做一OpenCV的图像轮廓检验,但当用到霍夫变换时才发现对Mat的属性了解不足.Mat在OpenCV中的地位是及其重要的,因此有必要做一个总结. 大体上来说,Mat是 ...
- Apache入门篇(四)之LAMP架构部署
一.LAMP解析 a: apachem: mariadb, mysqlp: php, perl, python 静态资源:静态内容:客户端从服务器获得的资源的表现形式与原文件相同:动态资源:通常是程序 ...
- 解决windows 服务中定时器timer 定时偶尔失效 问题
最近做个windows 服务,功能是:定时执行一个任务:自动登录到一个网站后,点击相关网面上的按钮button. 在处理的过程中发现定时器老是不定时的失效,失效时间没有规律. 由于刚开始处于测试阶段, ...
- Selenium2+python自动化-xpath定位语法
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语 ...
- Javac提示不是内部或外部命令
1.先去百度搜索"jdk下载"下载最新版jdk,并安装,安装目录不用去更改,直接默认就好,下载完了之后,双击打开安装,jdk安装完成后,会接着安装jre包,(jre和jdk是配对的 ...
- PKI(Public Key Infrastucture)介绍
PKI(Public Key Infrastucture)介绍 根据Wikipedia PKI词条整理. PKI(Public Key Infrastucture)是一系列的规则.策略以及过程,可以用 ...
- 3.openldap生成LDAP用户
1.用migrationtools生成用户 #yum install migrationtools -y #vim /usr/share/migrationtools/migrate_common.p ...
- 作业 20181030-3互评Alpha版本
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2323 组名:可以低头,但没必要 组长:付佳 组员:张俊余 李文涛 孙 ...
- 改进意见的答复及bug重现
各组对本组的互评链接如下 Thunder:http://www.cnblogs.com/vector121/p/7905300.html 王者荣耀交流协会:http://www.cnblogs.com ...