自学Python所记(五)

本文详细介绍了Python中字符串的查找、替换、拆分和连接操作,包括find、replace、split和join方法的使用。此外,还讲解了列表的定义、下标和切片、查找、添加数据等基本操作,以及如何在列表中合并数据。内容涵盖了字符串和列表在Python编程中的常见应用场景。
摘要由CSDN通过智能技术生成

10.4、字符串的查找find

用法:

   字符串.find(stb_str,start,end)

作用:在字符串中查找是否存在sub_str这样的字符串

sub_str:要查找的小的字符串

start:开始位置,从哪个 下标位置 开始查找,一般不写,默认是0

end:结束位置,查找到哪个 下标结束。一般不写,默认是len()

返回(代码执行之后会得到什么,如果有返回,就可以使变量保存
  1、如果在字符串中找到了sub_str,返回sub_str第一次出现的正数下标(sub_str中第一个字符在大字符中的下标)
  2、如果没有找到,返回-1
str1 = "hello world and itcast and python"
# 在字符串中查找 and

num = str1.find('and')
print(num)  # 12

# 在字符串中查找第二个and的下标,从第一次出现的后一位开始查找
num1 = str1.find('and',num+1)
print(num1) # 23

# 在字符串中查找第三个and的下标,从第二次出现的后一位开始查找
num2 = str1.find('and',num1+1)
print(num2) # 没有找到返回-1

10.5、字符串的替换replace

字符串.replace(old_str,new_str,count) # 将字符串中old_str替换为new_str
- old_str:被替换的内容
- new_str:替换为的内容
- count:替换的次数,一般不写,默认是全部替换
- 返回:替换之后的完整的字符串,注意:原来的字符串没有发生改变
str1 = 'good good study'

# 1 将str1中所有的g改为G
str2 = str1.replace('g', 'G')
print('str1:', str1)
print('str2:', str2)

# 2 将str1中第一个good改为GOOD
str3 = str1.replace('good', 'GOOD', 1)
print('str3', str3)  # str3 GOOD good study 

# 3 将str1中第二个good改为GOOD
# 分两步--全部good变GOOD,再将第一个GOOD变good
str4 = str1.replace('good', 'GOOD')
str5 = str4.replace('GOOD', 'good', 1)
print('str5:', str5)  # str5:good GOOD study

10.6、字符串的拆分split

字符串.split(sep,max_split)  # 将字符串按照sep进行分割(拆分)
- sep, 字符串按照什么进行拆分,默认是空白字符(空格,换行\n,Tab健\t)
- max_split,分割次数,一般不写,全部分割
- 返回:将一个字符串拆分为多个,存到列表中
- 注意:如果sep不写,想要指定分割次数,则需要按照如下方式使用
   字符串.split(max_split=n)   # n 是次数
str1 = "hello world and itcast and python"

# 1 将str1按照and 字符进行拆分
result1 = str1.split('and')
print(result1)  # ['hello world ', ' itcast ', ' python']

# 2 将str1按照and字符进行拆分,拆分一次
result2 = str1.split('and', 1)
print(result2)  # ['hello world ', ' itcast and python']

# 3 按照空白字符进行切割
result3 = str1.split()
print(result3)  # ['hello', 'world', 'and', 'itcast', 'and', 'python']

# 4 按照空白字符进行切割,拆分一次
result4 = str1.split(maxsplit=1)
print(result4)  # ['hello', 'world and itcast and python']

10.7、字符串的连接join

字符串.join(列表)  # 括号中的内容主要是列表,可以是其他容器

# 作用:将字符串插入到列表中每相邻的两个数据之间,组成一个新的字符串
- 列表中的数据使用 逗号隔开
-注意点:列表中的数据必须都是字符串,否则会报错

list1 = ['hello', 'world', 'itcast',  'python']

# 1 将列表中的字符串使用空格连接起来
str1 = ' '.join(list1)
print(str1)   # hello world itcast python

# 2 将列表中的字符串使用and连接起来
str2 = ' and '.join(list1)
print(str2)   # hello and world and itcast and python

十一、列表

11.1、列表的定义

列表list,是使用最多的一种容器(数据类型)

列表中可以存储多个数据,每个数据之间使用逗号隔开

# 1 类实例化的方式(不常用)
# 1.1 定义空列表(没有任何数据的列表)
# 变量 = list()
list1 = list()
print(type(list1),list1)  # <class 'list'> []

#1.2 类型转换list(容器) 将其他的容器转换为列表
# 转换字符串会将字符串中的每个字符作为一个数据存放到列表中
list2 = list('hello')
print(type(list2),list2)  # <class 'list'> ['h', 'e', 'l', 'l', 'o']
 
    
# 2 直接使用[]进行定义(常用)
# 2.1 定义空列表
my_list = []
print(my_list)  # []

# 2.2 定义非空列表
my_list1= [1,'小明',3.14,False]
print(my_list1)  # [1, '小明', 3.14, False]

11.2、列表支持下标和切片

列表支持下标和切片操作,使用方法和字符串中的使用方法一致
区别:列表的切片得到的是列表
list1 = ['小明',18,1.71,True]

# 获取第一个数据,名字
print(list1[0])   #小明

# 获取最后一个数据
print(list1[-1])  # True

# 第一第二个数据
print(list1[0:2])  # ['小明', 18]

# 列表也支持 len() 求长度的,求数据元素个数
print(len(list1))   # 4

11.3、查找

11.3.1、列表中数据下标的方法
在字符串中使用find方法查找下标,不存在返回的是-1

在列表中没有find方法,想要查找数据的下标,使用index()的方法

语法:

列表.index(数据,start ,end) 使用和find方法一样,同时在字符串中也有index 方法

区别:返回时,index()方法,找到返回第一次出现的下标,没有找到代码直接报错
my_list = [1,3,5,7,9]

# 找 数据3 出现的下标
num = my_list.index(3)
print(num)   # 1

11.3.2、判断是否存在
判断容器中为某个数据是否存在可以使用in 关键字

数据 in容器 #如果存在返回True,如果不存在返回False
# 找 数据4出现的下标
# num1 = my_list.index(4)  # 代码错误
if 4 in my_list:
    num1 = my_list.index(4)
    print(num1)
else:
    print('不存在数据4')
11.3.3、统计出现的次数
统计出现的次数,使用的是count()方法

列表.count(数据)    # 返回 数据出现的次数
# my_list.count(4) 统计数据4出现的次数
if my_list.count(4)>0:
    num1 = my_list.index(4)
    print(num1)
else:
    print('不存在数据4')

11.4、添加数据

  • 尾部添加(最常用)

    列表.append(数据)  #将数据添加到列表的尾部
    
    返回:返回的None(关键字,空),一般就不在使用变量来保存返回的内容
               想要查看添加后的列表,需要打印的是列表
    
  • 指定下标位置添加

    列表.insert(下标,数据)  #在指定的下标位置添加数据,如果指定的下标位置本来有数据,原数据会后裔移
    
    返回:返回的None(关键字,空),一般就不在使用变量来保存返回的内容
               想要查看添加后的列表,需要打印的是列表
    
  • 列表合并

    列表1.extend(列表2)  # 将列表2中的所有数据逐个添加到列表1的尾部、
    
    返回:返回的None(关键字,空),一般就不在使用变量来保存返回的内容
               想要查看添加后的列表,需要打印的是列表
    
my_list = []
print(my_list)  # []

# 1 在列表中添加数据 郭德纲
my_list.append('郭德纲')
print(my_list)  # ['郭德纲']

# 2 向列表的尾部添加 郭麒麟
my_list.append('郭麒麟')
print(my_list)  # ['郭德纲', '郭麒麟']

# 3 在下标位置为1的位置添加数据 岳岳
my_list.insert(1, '岳岳')
print(my_list)  # ['郭德纲', '岳岳', '郭麒麟']

# 4 定义新的列表 list1
list1 = ['于谦', '烧饼']
# 将list1中数据逐个添加到my_list中
my_list.extend(list1)
print(my_list)  # ['郭德纲', '岳岳', '郭麒麟', '于谦', '烧饼']

# 将list1中数据整体添加到my_list中
my_list.append(list1)
print(my_list)  # ['郭德纲', '岳岳', '郭麒麟', '于谦', '烧饼', ['于谦', '烧饼']]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值