python学习笔记3

python学习笔记3

字符串str的方法

  1. 字符串也是一个数据容器,一个可以放置很多字符的数据容器,支持下标索引
  2. 字符串的内容不能修改,如果改变,则得到的是一个新的字符串,不再是原来的字符串了
  3. 通过下标索引取出字符串中的字符:正向索引和反向索引均可。空格也是一个字符
  4. Index()方法:
mystr = "itheima and itcast and"
# value是查找到的第一个字符串“and”的起始下标位置
value = mystr.index("and") #返回8 空格也是一个字符 返回第一个and中a的下标
print(f"and的第一个字母下标是:{value}")
print(mystr.index("a")) #打印结果是6 返回第一个a的下标
  1. repalce()方法:
  • new_mystr = mystr("原字符串", "新字符串")
  • 由于字符串内容不可修改,所以mystr并没有变化,相当于把mystr复制一下并修改,然后返回给new_mystr。这个过程中,mystr不变,得到一个新的字符串new_mystr
  • 使用replace()方法删除字符串中字符串
    new = my_str.replace(“delet”, “”):通过这种方式,可以把my_str中所有的delet字符串给删掉,注意第二个引号之间什么都没有,如果有空格,则会用空格代替delet字符串
mystr = "itheima and itcast and"
new_mystr = mystr.replace("it", "程序") #replace()方法替换
print(mystr) #结果:itheima and itcast and
print(new_mystr)#结果:程序heima and 程序cast and
  1. split()方法
  • 语法:mystr.split(分隔符字符串)
  • 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中
  • 注意:字符串本身不变,而是得到了一个列表对象
mystr = "hello python ni hao python"
# 以on作为分隔符
new_str_list = mystr.split("on") # 原字符串不变,得到一个新列表对象
print(mystr, type(mystr))
#结果:hello python ni hao python <class 'str'> 不变
print(new_str_list, type(new_str_list))
#结果:['hello pyth', ' ni hao pyth', ''] <class 'list'>
# on是分隔符,所以字符串中所有on出现的地方两端自动分隔,由于最后的on是在字符串的末尾,所以分隔的时候多出来一个空格。
  1. strip()方法:字符串的规整操作
  • 语法:字符串.strip():去除前后空格
    字符串.strip(字符串):去除前后字符串中的字符
mystr = "1312hello python ni hao python24212"
new = mystr.strip("12") # 从最前和最后端开始,找到 1去掉 1,找到 2去掉 2,找的的如果既不是 1也不是 2,则停止。如果圆括号内为空,则是去掉前后端的空格
print(new) 
# 结果:312hello python ni hao python24  去掉 3前面的 1和 4后面的 212
print(mystr)
# 结果:1312hello python ni hao python24212
  1. count()方法
  • 语法:count = mystr.count(“py”) 统计字符串 "py"出现的次数
  • print(count)
  1. len():len(mystr) 统计字符串的长度

序列

  1. 序列:内容连续、有序,可使用下标索引的一类数据容器
  2. 列表、元组、字符串均可以视为序列
  3. 序列支持切片。切片:从一个序列中取出一个子序列
  • 语法:序列[起始下标:结束下标:步长]
  • 起始下标留空:从头开始(下标为0) ;结束下标(取出的元素不包含结束下标本身)留空:截取到结尾 (下标为-1)
  • 步长为N表示:每次跳过N-1个元素取 ; 步长为负数表示反向取(此时起始下标和结束下标也要反向标记),例如 mylist[5:1:-1]
  • 序列倒序输出 mylist[::-1]
  • 序列正序输出 mylist[:] (默认步长是1时可以省略,所以只有一个冒号)
  • 序列正向输出步长为2 mylist[::2]
  1. 对序列进行切片操作并不影响序列本身,而是会得到一个新的序列(元组、字符串不可更改)
  2. 一个例子
# 得到字符串"今天是个好日子"
my_str = "oah in 子日好个是天今 nohtyP 学"
# 方法1
str1 = my_str[13:6:-1]
print(str1)
# 方法2
str2 = my_str[::-1][9:16]
print(str2)

其他

1. #一个小想法:
my_list = [[0, 1, 2, 3, 4], 5, 6, 7, [8, 9]]
#例1:取出数字2:
my_list[0][2]
#例2:想知道数字8的下标:
index = my_list[4].index(8)
#例3:以及上面得到字符串“今天是个好日子”的方法二:
my_str = "oah in 子日好个是天今 nohtyP 学"
str2 = my_str[::-1][9:16]

"""
读取信息的方法(顺序)是:
2. 先通过my_list确定这个序列,此时不关心mylist内部元素的形式(列表、元组、字符串等等)
3. 对mylist来说,它里面只有 元素1 元素2 元素3······,它也不清楚也不关心元素1内部是否还有其他东西
4. 再通过[0]确定外层下标,此时的mylist开始关注 元素1 ,关注元素1的形式(列表、元组、字符串等等)
5. 如果元素1是列表,那么pycharm知道这个信息,就会产生一系列列表可用的方法。这就是例2,对嵌套列表的内部列表进行操作
6. 现在还有[2],在第5中,pycharm已经知道my_list[0]是一个列表,于是就通过[2]得到下标是2的元素,并返回,这就是例1 。(获取嵌套列表内部信息、进入嵌套列表)
7. 换言之,如果直接是my_list.insert(),只会对整个my_list列表进行插入;但如果是my_list[0].insert(),则会关注到my_list的元素1,并对元素1进行插入操作
8. 同样对于字符串例3:先是通过my_str确定字符串,再通过[::-1]将字符串反转,获得一个暂时的新的字符串temp_my_str,然后再通过[9:16]将temp_my_str下标9:16的元素取出

"""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值