- 视频、源码、课件、软件、笔记:超全面Python基础入门教程【十天课程】博客笔记汇总表【黑马程序员】
Python基础day3 作业解析【5道 字符串题、3道 列表题、2道 元组题】
学习目标:
- 能够说出容器类型有什么用
- 能够说出常用 Python 容器的名字
- 能够说出切片语法的用途
- 能够说出容器中的索引指的是什么
- 能够说出如何定义一个字符串
- 能够说出字符串容器的特性
- 能够说出至少5个字符串方法名字和作用
- 能够使用切片语法获得指定索引区间的子串
- 能够说出如何使用 while 和 for 循环来遍历字符串
- 能够说出如何定义一个列表
- 能够说出列表容器和字符串容器的区别
- 能够说出至少5个列表方法名字和作用
- 能够使用切片语法获得列表指定索引区间的元素
- 能够说出如何使用 while 和 for 循环来遍历列表中的元素
- 能够说出如何定义一个列表
- 能够说出元组和列表的区别
- 能够说出如何使用 while 和 for 循环来遍历元组中的元素
- 能够说出元组支持哪些操作
- 能够说出如何定义一个字典
- 能够说出字典和列表的区别
- 能够说出如何使用 for 循环来遍历列表中的键、值和键值对
- 能够说出字典键和值的特点
目 录
复习和反馈
今日内容介绍
1. 字符串
1.1 字符串定义
字符串 * 整数
1.2 字符串的输出和输出
输出
输入
1.3 字符串的下标
1.4 字符串的切片
1.5 字符串的查找方法
find() & rfind()
index & rindex()
count()
1.6 字符串的替换方法 replace
1.7 字符串的切割方法 split()
1.8 字符串的连接 join()
1.9 字符串的其它方法【字符串常用操作(课外阅读)】
<1>capitalize
<2>title
<3>startswith
<4>endswith
<5>lower
<6>upper
<7>ljust
<8>rjust
<9>center
<10>lstrip
<11>rstrip
<12>strip
<13>rfind
<14>rindex
<15>partition
<16>rpartition
<17>splitlines
<18>isalpha
<19>isdigit
<20>isalnum
<21>isspace
2. 列表【"增"、"删"、"改"、"查"】
2.1 列表的定义和基本使用
2.2 遍历
2.3 向列表中添加数据【添加元素("增"append, extend, insert)】
2.4 列表中的数据查询操作【查找元素("查"in, not in, index, count)】
2.5 列表中的删除操作【修改元素("改")、删除元素("删"del, pop, remove)】
2.6 列表排序和逆置【排序(sort, reverse)】
2.7 列表嵌套(二维列表)
2.8 案例:分配办公室
3. 元组【元组的元素不能修改】
容器 总结
如下定义的变量a,存储的是数字类型的值:a = 100。
如下定义的变量b,存储的是字符串类型的值:b = "hello itcast.cn" 或者 b = 'hello itcast.cn'。
带引号的内容就是字符串。
- 如果字符串本身 包含 单引号,可以 使用 双引号 定义;
- 如果字符串本身 包含 双引号,可以 使用 单引号 定义;
- 或者 统一 使用 三引号 定义。
在 python 中,字符串可以乘上一个整数:字符串 * num。
输入:input() 函数 —— input() 函数得到的内容就是字符串。
输出:print() 函数 —— %s、f-string。
f-strings 提供一种简洁易读的方式,可以在字符串中包含 Python 表达式。f-strings 以字母 'f' 或 'F' 为前缀,格式化字符串使用一对单引号、双引号、三单引号、三双引号。
学习input()的时候,通过它能够完成从键盘获取数据,然后保存到指定的变量中;
注意:input获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存。
字符串中"下标"的使用:列表与元组支持下标索引,字符串实际上就是字符的数组,所以也支持下标索引。如果想取出部分字符,那么可以通过
下标
的方法,(注意python中下标从 0 开始)。
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[起始:结束:步长]
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
我们以字符串为例讲解。如果取出一部分,则可以在中括号[]中,使用:
切片的常用操作:
- my_str[:]:得到和原来一样的字符串。
- my_str[::-1]:字符串的逆置。
- find:检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1。
- index:跟find()方法一样,只不过如果str不在 mystr中会报一个异常。
- count:返回 str在start和end之间 在 mystr里面出现的次数。
- replace:把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次。
- split:以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit+1 个子字符串。
- join:将 mystr 插入到 str 中每个元素之间,构造出一个新的字符串。
<1>capitalize
把字符串的第一个字符大写
mystr.capitalize()
<2>title
把字符串的每个单词首字母大写
>>> a = "hello itcast" >>> a.title() 'Hello Itcast'
<3>startswith
检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
mystr.startswith(hello)
<4>endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.
mystr.endswith(obj)
<5>lower
转换 mystr 中所有大写字符为小写
mystr.lower()
<6>upper
转换 mystr 中的小写字母为大写
mystr.upper()
<7>ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width)
<8>rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)
<9>center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)
<10>lstrip
删除 mystr 左边的空白字符
mystr.lstrip()
<11>rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()
<12>strip
删除mystr字符串两端的空白字符
>>> a = "\n\t itcast \t\n" >>> a.strip() 'itcast'
<13>rfind
类似于 find()函数,不过是从右边开始查找.
mystr.rfind(str, start=0,end=len(mystr) )
<14>rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
<15>partition
把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)
<16>rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
<17>splitlines
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
<18>isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()
<19>isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.
mystr.isdigit()
<20>isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()
<21>isspace
如果 mystr 中只包含空格,则返回 True,否则返回 False.
mystr.isspace()
变量A的类型为列表:namesList = ['xiaoWang','xiaoZhang','xiaoHua']。
比C语言的数组强大的地方在于列表中的元素可以是不同类型的:testList = [1, 'a']。
为了更有效率的输出列表的每个数据,可以使用循环来完成。
列表中存放的数据是可以进行修改的,比如"增"、"删"、"改"、"查"。
- append:通过append可以向列表添加元素。
- extend:通过extend可以将另一个集合中的元素逐一添加到列表中。
- insert:insert(index, object) 在指定位置index前插入元素object。
所谓的查找,就是看看指定的元素是否存在。python中查找的常用方法为:
- in(存在),如果存在那么结果为true,否则为false。
- not in(不存在),如果不存在那么结果为true,否则false。
in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在。
index和count与字符串中的用法相同。
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改。
列表元素的常用删除方法有:
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
列表中的某一个元素被删除后,后续元素会自动前移。
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。
类似while循环的嵌套,列表也是支持嵌套的。一个列表中的元素又是一个列表,那么这就是列表的嵌套。
一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配。
tuple 英语音标:[ˈtjuːp(ə)l] 美语音标:[ˈtjup(ə)l] n.元组;数组;重数
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
python中不允许修改元组的数据,包括不能删除其中的元素。
很多人的懂,不是真懂,是泛泛之懂,懂得很肤浅,不深不透,对境没有力量!就像禅宗所言:“说时似悟,对境生迷”。