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:前两小节补充的更多相关文章

  1. table固定前两列和最后一列,其他滑动显示

    网上搜的基本都是4个table做的,数据处理比较麻烦,写了个一个table的,此示例只固定了前两列和最后一列,和网上的不太一样. 网上搜的基本都是4个table做的,数据处理比较麻烦,写了个一个tab ...

  2. 纯javaScript实现元素平滑滚动,改进前两个版本,支持鼠标滚轮滚动和点击元素滚动,滚动更顺畅

    windowScroll(id, number, distance, direction, obj) 参数介绍: 1.id:所要滚动的元素id; 2.number:滚动次数; 3.distance:每 ...

  3. 《Writing Idiomatic Python》前两部分的中文翻译

    汇总了一下这本小书前两部分的内容: 翻译<Writing Idiomatic Python>(一):if语句.for循环 翻译<Writing Idiomatic Python> ...

  4. sqlserver -- 学习笔记(七)获取同组数据的前两条记录

    不啰嗦,直接上图,大概实现效果如下: 有上面这样一份数据,将他们按照userAccount和submitTime进行分组,然后提前每组数据的前两条记录 提取后数据如下: 实现的SQL如下: selec ...

  5. WORD中如何让前两页不显示页码

    WORD中如何让前两页不显示页码   上稿人:ojn 点击率: 15191   我们有时在用word编辑文档时,会遇上第一.二页无需显示页码,第三页才是正文的第一页时,该如何正确插入页码呢? 以wor ...

  6. jsoi2014前两轮回眸

    今天从常州回来了,第二轮考得惨不忍睹 大概来总结一下前两轮: 第一轮是4个小时,3道题,一道网络流,一道环形DP,一道线段树 最后一道题ahoi的原题(传送bzoj1798),非常水的线段树,是个很好 ...

  7. Js 正则表达式 写了一个正整数或小数点或分数前两个正则表达式

    写了一个正整数或小数点或分数前两个正则表达式 /^[0-9]+([.]{1}[0-9]{1,2})? $/ 版权声明:本文博客原创文章.博客,未经同意,不得转载.

  8. 前两篇转载别人的精彩文章,自己也总结一下python split的用法吧!

    前言:前两篇转载别人的精彩文章,自己也总结一下吧! 最近又开始用起py,是为什么呢? 自己要做一个文本相似度匹配程序,大致思路就是两个文档,一个是试题,一个是材料,我将试题按每题分割出来,再将每题的内 ...

  9. JavaBean的属性变量名前两个字母大小写问题

    Java属性命名规范! 一般情况下.Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,考虑到一些特定的有意思的英文缩略词如(USA,XML等), ...

随机推荐

  1. HDU_3746 Cyclic Nacklace(KMP)

    题目请点我 题解: 题目大意:有一个字符串s.能够在前后加入字符,使字符串成为一个循环次数至少为2的循环字符串.输出最少须要加入的字符数目. 首先能够证明题目能够等价为仅仅在末尾加入字符使满足题意.要 ...

  2. 物联网架构成长之路(11)-Redis缓存主从复制

    1. 说明 在我的物联网平台框架框架中,会用到Redis这个中间件.作为EMQ权限认证的缓存.https://www.cnblogs.com/think-in-java/p/5123884.html ...

  3. 批处理命令学习笔记——Start命令

    Start 命令 启动另一个窗口运行指定的程序或命令,所有的DOS命令和命令行程序都可以由start命令来调用. 语法:START ["title"] [/Dpath] [/I] ...

  4. iOS开发:一个无限滚动自动播放图片的Demo(Swift语言编码)

    很久以前就想写这么一个无限滚动的Demo了,最近学习了下Swift,手中没有可以用来练手的Demo,所以才将它实现了. Github地址(由于使用了UIView+AutoLayout第三方进行布局,所 ...

  5. 1. RNN神经网络模型原理

    1. RNN神经网络模型原理 2. RNN神经网络模型的不同结构 3. RNN神经网络-LSTM模型结构 1. 前言 循环神经网络(recurrent neural network)源自于1982年由 ...

  6. vue:过滤器

    一.过滤器 过滤器是vue中的一个特性,作用是用于对文本进行格式化的作用. 注意:在vue 1.0中有内置的过滤器,在2.0中去掉了内置过滤器,只有自定义过滤器 二.使用位置 过滤器只能应用在两个地方 ...

  7. 关于Solaris 的磁盘的分区

    也许是深受LINUX  Windows  fdisk 影响,每次看完Solaris的format命令,总是云里雾里.我今天总结一下,各位给点指点 一. Linux.Windows  传统的磁盘区层级, ...

  8. sublime text plugins

    Sublime Text 插件,HTML+CSS+JAVASCRIPT+JSON快速格式化:  htmlpretty 快捷键:Ctrl+Shift+H Essential Sublime Text 2 ...

  9. IOC容器特性注入第四篇:容器初始化

    IOC容器,就是把各种服务都注入到容器里,想要什么就去拿什么,不仅解决服务类和接口类的耦合度还可以提高性能方便管理. 这里封装一个接口类和一个实现类 1.IContainerManager接口 pub ...

  10. [Tensorflow] Cookbook - CNN

    Convolutional Neural Networks (CNNs) are responsible for the major breakthroughs in image recognitio ...