1.前言

隔离日记DAY5。

2.学习内容

1.为什么要将元组设计成不可变序列

 t=(10,[20,30],9)print(type(t))print(t[0],type(t[0]),id(t[0]))print(t[1],type(t[1]),id(t[1]))print(t[2],type(t[2]),id(t[2]))'''尝试将t[1]修改为100'''print(id(100))#t[1]=100#元组不允许修改元素'''由于[20,30]列表,而列表是可变序列,所以可以向列表中添加元素,而列表的内存地址不变'''t[1].append(100)#向列表中添加元素print(t)print(t,id(t[1]))

注意元组t中有个元素是列表,当尝试把t[1](列表)整个修改成100时,会报错,因为元组不允许修改元素,但是列表是可变序列啊,我们可以向t[1](列表)中进行增删改操作,且列表的内存地址不变。t[1].append(100)#向列表中添加元素。

2.元组的遍历

 '''元组的遍历'''t=('python','world',98)'''第一种获取元组元素的方式,使用索引'''print(t[0])print(t[1])print(t[2])#print(t[3]) #IndexError: tuple index out of range超出索引'''遍历元组'''for item in t:print(item)#item代表元组中每一个元素

可以使用索引对元组中的元素进行获取,但是我们可能不知道元组中有多少元素。接下来可以使用for item in t:进行遍历

3.集合的概述与创建

 #集合的创建方式'''第一种创建方式 使用{}'''s={2,3,4,5,5,6,7,7}#字典中的key不能重复,集合中元素不能重复print(s)#{2, 3, 4, 5, 6, 7}​'''第二种创建方式,使用set()进行创建'''​s1=set(range(6))print(s1,type(s1))s2=set([1,2,23,3,3,3,3])print(s2,type(s2))​s3=set((1,2,5,9,6,6,))print(s3)#{1, 2, 5, 6, 9} 注意重复元素只留下了一个,且元素顺序改变了,证明集合中的元素是无序的​s4=set('python')print(s4,type(s4))#{'n', 't', 'y', 'h', 'o', 'p'} <class 'set'>无序的!!!​s5=set({12,3,4,55})#{3, 12, 4, 55}print(s5)​#定义一个空集合s6={}#<class 'dict'> 字典类型print(type(s6))#不能直接用花括号定义空集合,因为字典也是用花括号{}s7=set()
  • 第一种创建方式 使用{ }

  • 第二种创建方式,使用set()进行创建 s1=set(range(6))可以创建一个包含0 1 2 3 4 5 的集合

  • 当你创建的集合中有重复元素时,集合输出后重复元素只留下了一个,且元素顺序可能会改变,也证明了集合中的元素是无序的。

  • 定义一个空集合时,要是直接用s6={}是不行的,因为字典也是用花括号{},要用s7=set()

4.集合的判断操作

 #集合的相关操作'''集合元素的判断操作'''s={10,20,30,405,60}print(10 in s)#Trueprint(100 in s) #Fprint(10 not in s)#False'''集合元素的新增操作'''s.add(80)#一次加一个print(s)#{80, 20, 405, 10, 60, 30}​s.update({200,400,800})#一次至少加一个print(s)#{800, 200, 10, 80, 400, 20, 405, 60, 30}​s.update((78,64,56))print(s)#{800, 64, 200, 10, 78, 80, 400, 20, 405, 56, 60, 30}​'''集合元素的删除操作'''s.remove(10)print(s)​#s.remove(100)s.discard(100)#使用discard移除元素不要求元素必须在,不会报异常print(s)#KeyError: 100 使用remove移除元素要求元素必须要存在,否则会报错​s.pop()print(s)s.pop()print(s)#s.pop(400)TypeError: set.pop() takes no arguments (1 given)print(s)#pop方法可以删除任意一个参数,但是是无参的,不能指定​s.clear()#清空集合元素print(s)
  • s.discard(100)#使用discard移除元素不要求元素必须在,不会报异常,s.remove(100)使用remove移除元素要求元素必须要存在,否则会报错

  • s.pop(),pop方法可以删除任意一个参数,但是是无参的,不能指定

5.集合间的关系

 '''两个集合是否相等'''s={10,20,30,40}s2={30,40,20,10}print(s==s2)#True集合无序,所以元素相同就相等,无关顺序print(s!=s2)​'''一个集合是否是另一个集合的子集'''#issubset    sub代表向下,所以是子集的意思s1={10,20,30,40,50,60}s2={10,20,30,40}s3={10,20,90}print(s2.issubset(s1))#trueprint(s3.issubset(s1))#false​'''一个元素是否是另一个元素的超集'''#issuperset   sup代表向上,所以是超集print(s1.issuperset(s2))#Trueprint(s1.issuperset(s3))#False​'''两个集合是否含有交集'''print(s2.isdisjoint(s3))   #False        isdisjoint交集 joint为相同的意思,所以是交集

集合无序,所以集合中元素相同就相等,无关顺序。

注意子集,超集,交集的英文都是有迹可循的

6.集合生成式

 #列表生成式lst=[i*i for i in range(6)]print(lst)#[0, 1, 4, 9, 16, 25]​#集合生成式s={i*i for i in range}print(s)

列表生成式和集合生成式类似,只不过一个是[ ],一个是{ }

  • 小总结

7.字符串的创建驻留机制

 #字符串的驻留机制a='python'b="python"c='''python'''print(a,id(a))print(b,id(b))print(c,id(c))

这节课听的迷迷糊糊,等再遇到了再针对学习吧

8.字符串的常用操作_字符串的查询

 #字符串的查询操作s='hello,hello'print(s.index('lo'))#lo第一次出现的位置print(s.find('lo'))print(s.rindex('lo'))#lo最后一次出现的位置print(s.rfind('lo'))​#print(s.index('k'))#用index查找不存在的元素,报错ValueError: substring not foundprint(s.find('k'))#用find查找不存在的元素,不会报错,得-1#print(s.rindex('k'))#ValueError: substring not foundprint(s.rfind('k'))#-1#查找字符串元素建议使用find 或 rfind 不会报错

查找字符串元素建议使用find 或 rfind ,不会报错

9.字符串的常用操作_字符串的大小写转换

 #字符串中的大小写转换的方法s='hello,python'a=s.upper()#转大写print(a,id(a))print(s,id(s))#字符串是不可变序列,转成大写后将会产生新的字符串对象b=s.lower()#转小写,转换之后,会产生新的字符串对象print(b,id(b))print(s,id(s))​s2='hello,Python'print(s2.swapcase())#大写变小写,小写变大写。swap好像是交换的意思​print(s2.title())#每个英文单词的首字母变大写,title就是开头的意思

a=s.upper()#转大写 b=s.lower()#转小写,转换之后,会产生新的字符串对象

s2='hello,Python' print(s2.swapcase())#大写变小写,小写变大写。swap好像是交换的意思

print(s2.title())#每个英文单词的首字母变大写,title就是开头的意思

10.字符串的常用操作_字符串内容对齐操作

 s='hello,Python''''居中对齐'''print(s.center(20,'*'))#中间对齐    ****hello,Python****​'''左对齐'''print(s.ljust(20,'*'))#hello,Python********print(s.ljust(10))#参数宽度小于本身宽度,默认无变化print(s.ljust(20))#填充符不写,默认是空格​'''右对齐'''print(s.rjust(20,'*'))#********hello,Pythonprint(s.rjust(20))#        hello,Python默认是空格print(s.rjust(10))#宽度小于实际长度,返回原字符​'''右对齐,使用0进行填充'''print(s.zfill(20))#00000000hello,Pythonprint(s.zfill(10))print('-8910'.zfill(8))#加上减号一共8位,注意0加到了减号后面   -0008910

3.结束语

隔离的第五天就要结束了,这几天几乎每天很长时间都对着pycharm那个黑色界面,感觉稍稍的有些倦了,感觉对于学习python这件事的热度褪去了一些,没有刚开始的热情高涨。但是我知道这就是人的天性,总是三分热度,因此我要做的就是对抗天性,保持纯心,把枯燥的事坚持下去,最后一定会有意想不到的收获。还记得晓燕老师的那句话:在希望中欢呼,在苦难中坚持!

python学习笔记68-78相关推荐

  1. python学习笔记(14)参数对应

    python学习笔记(14)参数对应 原链:http://www.cnblogs.com/vamei/archive/2012/07/08/2581264.html 笔记: 1 #第14讲 2 #参数 ...

  2. python学习笔记_week22

    python学习笔记_week22 note 知识点概要- Session- CSRF- Model操作- Form验证(ModelForm)- 中间件- 缓存- 信号 内容详细: 1. Sessio ...

  3. Python学习笔记:访问数据库

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. python学习笔记(九)之语句1

    python学习笔记(九)之语句1 print python2中,print是一个语句,python3中它是一个函数. 实例1: >> print "hello,world!&q ...

  5. python学习笔记,初学者Python3

    Python学习笔记 不推荐将python作为主力语言,但推荐作为一个辅助语言,用于日常的一些小的任务 python目前主要的应用场景: 1.机器学习,人工智能 2.爬虫 3.数据分析 4.自动化,运 ...

  6. Python学习笔记Day 3

    Python学习笔记 Day 3 集合(关系测试.去重) 集合定义 关系测试-交集(&),并集(|),差集(-),子集,父集,对称差集(^) 增删查 增 .set.add(),.set.upd ...

  7. Python学习笔记19:列表 III

    Python学习笔记19:列表 III 其实这篇笔记标题应该是列表扩展,从列表开始,将涵盖Python中的序列容器. 关于列表的基础知识,可以看我的前两篇文章: Python学习笔记1:列表. Pyt ...

  8. Python学习笔记 day5

    Python学习笔记 day5 参考/引用资料: 1.file a.打开文件方式(读写两种方式) 缓冲 with语句 b.文件对象的操作方法 c.学习对excel及csv文件进行操作 读写excel ...

  9. 蒟蒻的python 学习笔记 ——北京理工大学嵩天mooc(有时间就看就更新,尽量让笔记容易懂,蟹蟹各位大神不吝赐教)

    蒟蒻的python 学习笔记 前言 课一:python语言程序设计 第一周:python 基本语法元素 1.1 程序设计基本方法 1.2 python 环境配置 1.3 实例1:温度转换 1.4 py ...

  10. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

最新文章

  1. UNICODE字符集表
  2. 李飞飞团队从动物身上get AI新思路,提出RL计算框架
  3. vs2012html图片,简单几步 实现vs2010对html5的支持
  4. isis simple 运行Maven是报错: No goals have been specified for this build.
  5. 单张表超过30个字段_拉链表
  6. 【NOI2009】诗人小G【决策单调性dp】
  7. git 怎么备份本地分支_git 入门教程之协同开发
  8. Viod Class 启动
  9. 基于 koajs 的前后端分离实践
  10. 漏洞扫描工具MySQL_打造一款自动扫描全网漏洞的扫描器
  11. c语言power函数作用,pow函数(c语言pow函数用法)
  12. mui 点击长按复制文本
  13. 利用计算机指令清理垃圾,系统运维---教你用dos命令清除系统垃圾的快速方法
  14. Surface Pro 4 无限重启的解决方法
  15. 收藏一些非常不错的学习资源
  16. 如何快速查询京东快递物流正在派送中的单号
  17. Excel中SEARCH函数的使用方法
  18. STM32 HAL WS2812B PWM+DMA控制
  19. python语音唤醒功能_百度语音识别 语音唤醒失败
  20. sqlite引用SQLite.Interop.dll出错

热门文章

  1. 华为公布2018年销售收入目标:1022亿美元!
  2. mysql错误编号2058_SQLyog连接MySQL8.0报2058错误的完美解决方法
  3. 华米发布使命愿景:将致力于以科技连接健康
  4. (转)如何尽快找到近期要召开的相关国际会议?
  5. 菜鸟双11“十亿级包裹”之战
  6. IDEA配置JVM参数
  7. 单例模式+php+应用场景,PHP单例模式应用场景有哪些?
  8. 这个清明节我要学习微服务架构下分布式事务Seata
  9. fpga控制vga显示黑白图片
  10. UnityEngine.CameraType