测试学习---python(三)

本文详细介绍了Python中的字符串和列表操作,包括for循环、字符串的下标、切片、查找、替换、拆分和连接,以及列表的添加、修改、删除、排序、嵌套和去重等基础知识,通过实例帮助读者加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试学习—python(三)

提要

  1. for 循环
  2. 字符串的操作
  3. 列表介绍

for循环

  1. 作用:便利容器中所有数据
    python中的容器:字符串、列表、元组(tuple),字典(dict)
  2. 基本语法for 遍历容器
for 变量名 in 容器:
执行代码
  1. 例子
mystr='hello'
for i in mystr:
print(i)
  1. for 指定循环次数语法
# rang(n)函数产生[0,n)之间整数数组
#rang(a,b)函数产生[a,b)之间的整数数组
for 变量 in rang(n)
   执行代码

容器

字符串

  1. 定义:
  • mystr =‘hello’
  • mystr=“hello”
  • mystr=‘’‘hello’‘’
  1. 规则
    字符串本身包含‘时需使用“ I’m girl”,或者使用\进行转义,
    • mystr=‘I ’ m a girl’
      在这里插入图片描述
      -使用r,则\不做转义符使用
    • mystr= r’I ’ m a girl’
      在这里插入图片描述
      字符串本身包含"时需使用’I’m girl’ ’

下标

  1. 功能:指示字符在字符串中的位置
  2. 规则:python下标一般从0开始。
  3. 格式:str[0]
    str[-1]:指str字符串最后一个位置的内容
  4. len(str)
    5. length(str)

切片

  1. 作用:可以获取字符串中多个字符
  2. 格式: 字符串[ start🔚step]
    • end :不包含end处的内容
      str[0:3:1] 其实是取出了下标为0,1,2的三个字符
      • str[:3] :起始为0可省略,步长省略默认为1
      • str[:]:获取全部内容
      • str[3:]:获取3到最后一位所有内容(包含最后一位)
      • str[::-1]:反向取出所有内容

字符串 内容查找find

  1. 作用:查找字符串中是有需要的内容,并返回在查找范围内第一次出现所找内容的下标
  2. 格式: 字符串.find( ‘XXX’,star,end)
  • num=str.find(‘and’):str字符串中找字符串and
    • 寻找第二次出现and的位置
      num1=str.find(‘and’,num+1)

字符串替换replace

1.作用:替换原字符串中的部分内容
2.格式:字符串.replace(old_str,new_str,count)
count:替换次数,一般不写,默认全部替换

字符串拆分split

1.作用拆分字符串,返回多个字符串存放在列表中
2.格式:字符串.split(sep,maxsplit)
- result=str.split(‘and’,1):将str分成and前后两部分,不包含and
- result=str.split():将str按照空白字符分开

字符串的链接 join

1.作用:将字符串插入到列表相邻的两个数据之间组成一个新的字符串
2.格式; 字符串.joint(列表)

  • 使用空格将list组成一个新的字符串
list =['good', 'good','study']
str=''.join(list)

列表

1.作用:用于存储多个数据,每个数据之间使用逗号链接,列表中可存放任意类型数据
2.格式

  • 空列表: list=[]
  • 非空列表: list=[1,‘xiaoming’,3.14,False]

列表中查找数据下标 index()方法

  1. 格式:列表.index(数据,start,end)
  2. 返回第一次找到数据的下标,如果没找到直接报错

判断容器中是否存在某个数据— in关键字

  1. 格式 数据 in 容器
  2. 返回Ture /False

统计查找内容出现的次数 count()

  1. 格式:列表.count(数据)
  2. 返回次数
# 找 数据 3 出现的下标
num = my_list.index(3)
print(num) # 1
# 找 数据 4 出现的下标
# num1 = my_list.index(4) # 代码会报错
if 4 in my_list:
 num1 = my_list.index(4)
 print(num1)
else:
 print('不存在数据 4')
# my_list.count(4) 统计 数据 4 出现的次数
if my_list.count(4) > 0:
 num1 = my_list.index(4)
 print(num1)
else:
 print('不存在数据 4')

添加数据的方法

尾部添加 append()方法

  1. 格式:列表.append(数据)

指定下标位置添加 insert()方法

  1. 格式:列表.insert(下标,数据)
  2. 规则:如果指定位置有数据,则原数据后移

列表合并 extend()方法

  1. 格式:列表1.extend(列表2)

列表修改

  1. 格式 :列表[下标]=数据
  2. 规则:如果指定位置下标不存在,代码会报错

删除操作

根据下标删除pop方法

  1. 格式:列表.pop(下标)
  2. 规则:下标不写,默认删除最后一个数据
  3. 返回:返回删除的数据

根据数据值删除 remove

  1. 格式:列表.remove(数据值)
  2. 规则:删除的数据不存在会报错
  3. 返回;None

清空列表所有数据clear()

  1. 格式: 列表.clear()

列表反转(倒置)reverse()

  1. newlist=list[::-1]
  2. 列表.reverse() 直接修改原列表,返回None

列表复制copy()

  1. 使用切片 变量=列表[ :]
  2. 使用copy() :变量=列表.copy()
  3. ps:list1=list:这只是两个变量名指向同一个地址,所以当修改list1时list也会变,修改list list1也会变。

排序 sort()

  1. 格式:
  • 列表.sort() 按照升序排序,从小到大
  • 列表.sort(reverse=Ture) 按照降序排序,从大到小

列表嵌套

  1. 规则:
  • 列表嵌套, 列表中的内容还是列表
  • 使⽤下标来确定获取的是什么类型的数据,然后确定可以继续进⾏
    什么操作

列表去重

1.作用:去除掉列表中重复的内容

  1. 方法一:可以函数实现:
    遍历(for)原列表数据,判断其在新列表中给是否存在(in),不存在则 存入(append())新列表。
mylist=[1,2,2,3,1,1]
newlist=[]
for i in mylist:
   # if (i in newlist)==False:
   if i not in newlist:
        newlist.append(i)
print(newlist)
    
  1. 转换成set,使用集合对列表去重
    ps:set中不能有重复数据,一旦重复会自动去掉
    缺点:不能保证数据在原列表中出现的数据
    set1=set(mylist)
    mylist=list(set1)

for 变量 in 容器:
pass
pass关键词

案例

字符串遍历

要求:用户输入一个字符串,遍历当前字符串并打印字符,如果遇见字符‘q’,则跳出循环。如果遇见“ ”(空格)则跳过不输出

# 输入字符串
str=input("请输入一个字符串")
#循环
#判断是否为q,判断是都为 ” “
for i in str:
    if i=="q":
        break
    elif i==" ":
        continue
    else:
        print(i)

过7游戏

# find找到了返回下标,没找到的返回-1
for j in range(1,100):
if j%7 ==0 or str(j).find('7')!=-1:
print('过')
else:
print(j)
# in 返回true /false
for j in range(1,100):
if j%7 ==0 or '7' in str(j):
print('过')
else:
print(j)

列表操作

有一个列表,判断列表每个元素是否以s 或者e结尾,如果是,则将其放入一个新的列表,最后输出这个新列表

'''
有一个列表,判断列表每个元素是否以s 或者e结尾,
如果是,则将其放入一个新的列表,最后输出这个新列表
'''

list1=["aaa",'cdf','sss','fff','eee','abe']
list2=[]

for i in list1:
   if (i[-1]=='e') or (i[-1]=='s'):
      list2.append(i)

print(list2)

随机抽签功能

要求:

  1. 使用input输入5个学生的名字存入列表
  2. 随机获取一个学生的名字并打印
'''
1.  使用input输入5个学生的名字存入列表
2. 随机获取一个学生的名字并打印
'''
import random

nameList=[]

for i in range(5):
    name = input('请输入名字')
    nameList.append(name)
#randint(a,b) 包含b
#rang(a) 产生0,a-1的整数共a个
um=random.randint(0,4)
print(nameList[num])

但是在循环中写nameList[i]=input(‘请输入名字’)是不正确的
应该是因为空列表大小问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值