day6:前两小节补充
1,练习题一:以66分割,大于部分一个键值对,小于部分一个键值对
li = [23,78,67,45,34,89,67,78,23,23]
lig = []
lil = []
dic = {}
for i in li:
if i == 66:
continue
elif i > 66:
lig.append(i)
else:
lil.append(i) dic.setdefault("k1",lig)
dic.setdefault("k2",lil)
print(dic.items()) 运行结果:
dict_items([('k1', [78, 67, 89, 67, 78]), ('k2', [23, 45, 34, 23, 23])])
2,练习题二
li = ["apple","pear","peach","watermelon"]
# 页面显示商品名称
for i in li:
print(li.index(i)+1,"\t\t",i) # 用户输入index显示商品名称 while 1:
num = input(">>>").strip() # 这句话注意要写在循环里面
if num.isdigit():
num = int(num)
if num in range(0,len(li)+1):
print(li[num-1])
else:
print("number out of range")
elif num.lower() =="q":
break
else:
print("please input an number")
运行结果:
1 apple
2 pear
3 peach
4 watermelon
>>>5
number out of range
>>>4
watermelon
>>>e
please input an number
>>>q
3,Python2 和Python3的几点小区别:
Python2除了range函数还有个xrange,但是Python3只有range;
Python2的input函数叫做raw_input,Python3叫做input;
Python2的print函数,加括号不叫括号都可以,Python3必须加,另外还有之前讲解的编码区别
4,赋值运算符= 和身份运算符is 前置比较的是值,后者比较的是地址,如果用pycharm 的话,很多都会做优化占用一个地址,如果用console就不是一个了
这个老师也没有总结出来规律知道就好了,数字和字符串,基本上数字-5到256,字符串s*20 还是同一个,s*21就不是了,遇到的时候,还是实际来跑一下,因为没有明显规律
a = "abcdefgh"
b = "abcde"
c = a
print (id(a),id(b),id(c))
print (a == b) #比较的是值
print (a is b) #比较的是地址
print (a == c)
print (a is c) # 由于小资源池的存在,Python为了节省空间自动用一块儿存储空间
a = 20000
b = 20000
c = a
print (id(a),id(b),id(c))
print (a == b)
print (a is b)
print (a == c)
print (a is c) 运行结果:
4460901104 4459766536 4460901104
False
False
True
True
4459708336 4459708336 4459708336
True
True
True
True
li = [1,]
l2 = [1,]
print(li is l2)
print(li == l2) 运行结果:
False
True
5,各个编码之间的二进制文件是不能互相认识的,密码本不同,文件的储存传输不能是unicode,只能是(GBK,GBK2312,UTF-8,UTF-16,ASCII)等也就是bytes类型,他们之间的转化需要通过Unicode,str在内存中是Unicode存储的,不能直接用来存储和传输,必须先转化成bytes类型,pycharm帮我们完成了这个转化的过程,其他的文件需要我们自己手动转化
"""
bytes类型 对于英文:
str :表现形式:s = "lisa"
编码方式:01010100 Unicode
bytes:表现方式:s =b'lisa'
编码方式:s = 10010011 utf-8 gbk...... 对于中文:
str :表现形式:s = "我们"
编码方式:01011110 Unicode
bytes:表现方式:s =b'\xe6\x88\x91\xe4\xbb\xac'
编码方式:s = 10010011 11100101 11100001 utf-8 gbk...... """ s = 'lisa'
s1 = b'lisa' print(s,type(s))
print(s1,type(s1))
print("")
s = '我们'
# s1 = b'我们' #注意这个是错误的 报错:SyntaxError: bytes can only contain ASCII literal characters.
# encode 函数将str转化为bytes,还有decode函数
# 注意两种编码方式占用字节数,以及编码结果
s1 = s.encode("gbk")
print(s1,type(s1))
s1 = s.encode('utf-8')
print(s,type(s))
print(s1,type(s1 运行结果:
lisa <class 'str'>
b'lisa' <class 'bytes'> b'\xce\xd2\xc3\xc7' <class 'bytes'>
我们 <class 'str'>
b'\xe6\x88\x91\xe4\xbb\xac' <class 'bytes'>
day6:前两小节补充的更多相关文章
- table固定前两列和最后一列,其他滑动显示
网上搜的基本都是4个table做的,数据处理比较麻烦,写了个一个table的,此示例只固定了前两列和最后一列,和网上的不太一样. 网上搜的基本都是4个table做的,数据处理比较麻烦,写了个一个tab ...
- 纯javaScript实现元素平滑滚动,改进前两个版本,支持鼠标滚轮滚动和点击元素滚动,滚动更顺畅
windowScroll(id, number, distance, direction, obj) 参数介绍: 1.id:所要滚动的元素id; 2.number:滚动次数; 3.distance:每 ...
- 《Writing Idiomatic Python》前两部分的中文翻译
汇总了一下这本小书前两部分的内容: 翻译<Writing Idiomatic Python>(一):if语句.for循环 翻译<Writing Idiomatic Python> ...
- sqlserver -- 学习笔记(七)获取同组数据的前两条记录
不啰嗦,直接上图,大概实现效果如下: 有上面这样一份数据,将他们按照userAccount和submitTime进行分组,然后提前每组数据的前两条记录 提取后数据如下: 实现的SQL如下: selec ...
- WORD中如何让前两页不显示页码
WORD中如何让前两页不显示页码 上稿人:ojn 点击率: 15191 我们有时在用word编辑文档时,会遇上第一.二页无需显示页码,第三页才是正文的第一页时,该如何正确插入页码呢? 以wor ...
- jsoi2014前两轮回眸
今天从常州回来了,第二轮考得惨不忍睹 大概来总结一下前两轮: 第一轮是4个小时,3道题,一道网络流,一道环形DP,一道线段树 最后一道题ahoi的原题(传送bzoj1798),非常水的线段树,是个很好 ...
- Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式
写了一个正整数或小数点或分数前两个正则表达式 /^[0-9]+([.]{1}[0-9]{1,2})? $/ 版权声明:本文博客原创文章.博客,未经同意,不得转载.
- 前两篇转载别人的精彩文章,自己也总结一下python split的用法吧!
前言:前两篇转载别人的精彩文章,自己也总结一下吧! 最近又开始用起py,是为什么呢? 自己要做一个文本相似度匹配程序,大致思路就是两个文档,一个是试题,一个是材料,我将试题按每题分割出来,再将每题的内 ...
- JavaBean的属性变量名前两个字母大小写问题
Java属性命名规范! 一般情况下.Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,考虑到一些特定的有意思的英文缩略词如(USA,XML等), ...
随机推荐
- intellij IDEA 安装和配置和使用
下载:https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows 安装教程:https://blog.c ...
- SNF快速开发平台MVC-自由排序组件
1. 自由排序功能使用 在一些需要排序优先级的数据进行调整处理,如民族数据,在北方实施的时候汉族比较多,希望把汉族放在第一位.在蒙古实施项目时,蒙古族人最多把蒙古族放在第一选择位. 1.1. ...
- [Android实例教程] 教你如何拍照+相册选择图片+剪裁图片完整实现
[Android实例教程] 教你如何拍照+相册选择图片+剪裁图片完整实现 今天做Android项目的时候要用到图片选择,要实现拍照获取图片和从相册获取图片,并且要求在获取完之后可以裁剪,试了很多方法之 ...
- linux下zip包处理
先来看例子: zip命令可以用来将文件压缩成为常用的zip格式.unzip命令则用来解压缩zip文件. 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip: # zip - ...
- 《转》推荐几个精致的web UI框架
1.Aliceui Aliceui是支付宝的样式解决方案,是一套精选的基于 spm 生态圈的样式模块集合,是 Arale 的子集,也是一套模块化的样式命名和组织规范,是写 CSS 的更好方式. git ...
- idea svn 不见的问题
问题一: IntelliJ IDEA打开带SVN信息的项目不显示SVN信息,项目右键SVN以及图标还有Changes都不显示解决方法 在VCS菜单中有个开关,叫Enabled Version Cont ...
- CodeCombat编程游戏
一. 介绍 官方网站:http://cn.codecombat.com/ 项目地址:https://github.com/codecombat/codecombat CodeCombat 是一个通过玩 ...
- Java知多少(45)未被捕获的异常
在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public static void ma ...
- Spark学习笔记——构建基于Spark的推荐引擎
推荐模型 推荐模型的种类分为: 1.基于内容的过滤:基于内容的过滤利用物品的内容或是属性信息以及某些相似度定义,来求出与该物品类似的物品. 2.协同过滤:协同过滤是一种借助众包智慧的途径.它利用大量已 ...
- MAC下Myeclipse SVN插件安装
1.下载SVN插件包:http://download.csdn.net/detail/frankyanchen/4512899 2.在myeclipse文件夹下创建一个文件夹为svntool并复制下载 ...