测试基础笔记第十四天

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、字符串
    • 1.字符串
    • 2.字符串切片
    • 3.查找find()
    • 4.去除两端空白字符 strip
    • 5.字符串转换大小写 lower、upper
    • 5.拆分 split()
    • 6.字符串的其他常见方法
      • 1.替换
      • 2.连接
      • 3.判断是否为纯数字
  • 二、列表
    • 1.列表的定义
    • 2.列表增加方法:append()
    • 3.列表删除方法:pop()
    • 4.列表修改方法:索引
    • 5.列表查询方法:索引
    • 6.列表反转方法:reverse()
    • 7.列表排序方法:sort()
    • 8.列表统计方法:count()
  • 二、字典
    • 1.字典的定义
    • 2.字典增加
    • 3.字典删除方法
    • 4.字典修改方法
    • 5.字典查询方法:get()
    • 6.遍历字典的Key
    • 7.遍历字典的Value
    • 8.遍历字典的key和value
  • 三、元组
    • 1.元组的定义
    • 2.元组查询方法: 索引
    • 3.元组查询方法: count()
    • 4.元组的特殊用法:交换两个变量的值【面试题】


一、字符串

1.字符串

  • 定义:使用引号(单引号,双引号,三引号)引起来的内容就是字符串。

  • 引用:通过索引(下标)获取字符串数据。

  • 索引(下标) :是数据在容器中的位置编号。对于字符串来说,就是字符在整个字符串中的位置。
    在这里插入图片描述

  • 说明:
    1、一般情况下,使用的都是正数索引(从左到右), 从 0 开始的。
    2、Python 中支持负数索引(从右到左),-1 表示容器中最后一个数据。
    3、使用索引(下标) 可以获取容器中指定位置的数据,如:字符串[索引]。
    4、获取字符串长度:len(字符串)

2.字符串切片

  • 语法:字符串[开始位置下标:结束位置下标:步长]
  • 说明:1、通过切片操作,可以获取字符串中指定部分的字符。
    2、结束下标位置对应的字符不会被截取到
    3、步长用于设置截取间隔,默认步长为1

3.查找find()

  • 语法:字符串.find(被查找字符)
  • 说明:被查找字符是否存在于当前字符串中, 如果存在则返加开始下标, 不存在则返回 -1

email = input(“请输入你的邮箱:”)
if email.find(“@”) != -1:
print(email.find(“@”))
else:
print(“邮箱格式错误”)

4.去除两端空白字符 strip

  • 语法:字符串.strip()
  • 说明:将字符串两端的空白字符(空格、换行\n、制表符\t)去除,返回一个新的字符串

username = ’ 15000000000 ’
username = username.strip()
print(username)

5.字符串转换大小写 lower、upper

  • 语法:字符串.lower()
    字符串.upper()
  • 说明:将字符串转换为大写或者小写, 返回新的字符串

5.拆分 split()

  • 语法:字符串.split(分割符)
  • 说明:按照指定字符来分割字符串
  • 注意:
  1. 方法执行完成后返回的数据类型为列表(list)
  2. 不传入分割符时,默认以空白字符进行拆分

6.字符串的其他常见方法

1.替换

  • 语法:字符串.replace(原字符串, 新子字符串)
  • 说明: 使用新的子字符串, 按规则替换旧的字符串内容

2.连接

  • 语法:字符串.join(一般为列表)
  • 说明 :一般用于将列表按指定子字符合并为字符串

3.判断是否为纯数字

  • 语法:字符串.isdigit()
  • 说明:返回值为 True 和 False

二、列表

1.列表的定义

  • 说明:列表(list)是 Python 中使用最频繁的数据类型, 在其他语言中通常叫做数组, 专门用来存储一组数据
  • 在这里插入图片描述

2.列表增加方法:append()

  • 语法:列表.append(新增数据)
  • 说明:在列表的末尾添加数据

val_list = [“Web自动化”, “UI自动化”, “接口自动化”]
val_list.append(“APP自动化”)
print(val_list) # [‘Web自动化’, ‘UI自动化’, ‘接口自动化’, ‘APP自动化’]

3.列表删除方法:pop()

  • 语法:del_data = 列表.pop(索引)
  • 说明:删除指定索引对应的数据
  • 注意:使用方法时如果不传入索引值, 默认删除列表中最后一个数据

val_list = [“Web自动化”, “UI自动化”, “接口自动化”]
val = val_list.pop(0)
print(val, val_list) # web自动化,[‘UI自动化’, ‘接口自动化’]

4.列表修改方法:索引

  • 语法:列表[索引]=新数据
  • 说明:通过指定索引修改对应数据
  • 注意:使用不存在的索引, 代码执行会报错!

val_list = [“Web自动化”, “UI自动化”, “接口自动化”, “Web自动化”]
val_list[1] = “黑马程序员”
print(val_list) # [‘Web自动化’, ‘黑马程序员’, ‘接口自动化’, ‘Web自动
化’]

5.列表查询方法:索引

  • 语法:item = 列表[索引]
  • 说明: 索引就是数据在列表中的位置编号, 索引又被称为下标, 默认从0开始
  • 注意:使用不存在的索引,代码执行会报错!

name_list = [‘张三’, ‘李四’]
print(name_list[0]) # 张三
print(name_list[1]) # 李四

6.列表反转方法:reverse()

  • 语法:列表.reverse()
  • 说明:反转列表, 将列表中的元素倒序
  • 注意:方法执行是对原数据进行的修改

num_list = [1, 2, 3, 4]
num_list.reverse()
print(num_list) # [4, 3, 2, 1]

7.列表排序方法:sort()

  • 语法:列表.sort(reverse=False)
  • 说明:将列表按指定规则进行数据排序, 默认为升序
  • 注意:reverse 表示排序规则,默认是False表示升序,设置为True表示降序

val_list = [8, 100, 30, 10, 40, 2]
val_list.sort(reverse=True)
print(val_list) # [100, 40, 30, 10, 8, 2]

8.列表统计方法:count()

  • 语法:num = 列表.count(目标数据)
  • 说明:统计被测试值出现的次数
  • 注意:如果目标数据不存在则返回 0

data_list = [‘python’, ‘java’, ‘python’, ‘php’]
print(data_list.count(“python”)) # 2

二、字典

1.字典的定义

  • 注意:字典中的键一般都使用字符串,并且键名不能重复(如果重复原数据会被覆盖)
  • 在这里插入图片描述

2.字典增加

  • 语法:字典[‘键’] = 值
  • 说明:在字典中增加键值对或修改已有键对应的值
  • 提示:果键不存在, 则增加键值对; 如果键存在,则修改键对应的值

info = {
“name”: “tom”,
“age”: 18
}
info[“salary”] = 100000
print(info) # {‘name’: ‘tom’, ‘age’: 18, ‘salary’: 100000}

3.字典删除方法

  • 语法:字典.pop(键)
  • 说明:在字典数据中根据给出的键删除对应值
  • 提示:如果给出的键在字典中不存在, 代码执行会报错!

info = {
“name”: “tom”,
“age”: 18,
“gender”: “男”
}
info.pop(“gender”)
print(info) # {‘name’: ‘tom’, ‘age’: 18}

4.字典修改方法

  • 语法:字典[‘键’] = 值
  • 说明:在字典中增加键值对或修改已有键对应的值
  • 提示:如果键不存在, 则增加键值对; 如果键存在,则修改键对应的值

info = {
“name”: “tom”,
“age”: 18
}
info[“salary”] = 100000
print(info) # {‘name’: ‘tom’, ‘age’: 18, ‘salary’: 100000}

5.字典查询方法:get()

  • 语法:value = 字典.get(键)
  • 说明:通过键名查询对应值
  • 注意:如果查询的键在字典中不存在, 代码执行会返回 None(空值)!

info = {
“name”: “tom”,
“age”: 18,
“gender”: “男”
}
print(info.get(“name”)) # tom
print(info.get(“abc”)) # None

6.遍历字典的Key

  • 语法:for key in 字典.keys():
  • 说明 循环拿到字典中的每个键名

info = {
“name”: “tom”,
“age”: 18,
“gender”: “男”
}
for key in info.keys():
print(key)

7.遍历字典的Value

  • 语法:for value in 字典.values():
  • 说明:循环拿到每个键对应的值

info = {
“name”: “tom”,
“age”: 18,
“gender”: “男”
}
for value in info.values():
print(value)

8.遍历字典的key和value

  • 语法:for k, v in 字典.items():
  • 说明:循环拿到每个键和值
  • 提示:调用字典.items()方法获取字典的键和值,并自动赋值给不同的变量

info = {
“name”: “tom”,
“age”: 18,
“gender”: “男”
}
for k, v in info.items():
print(f"key={k} value={v}")

三、元组

1.元组的定义

  • 说明:元组和列表一样,都可用于存储多个数据,不同之处在于元组的元素不能修改
  • 注意:元组中只包含一个元素时,需要在元素后面添加逗号data = (1,)
  • 在这里插入图片描述

2.元组查询方法: 索引

  • 语法:item = 元组[索引]
  • 注意:使用不存在的索引,代码执行会报错!

tuple1 = (1, 2, 3)
print(tuple1[1]) # 2

3.元组查询方法: count()

  • 语法:num = 元组.count(目标数据)
  • 说明:统计被测试值出现的次数
  • 注意:如果目标数据不存在则返回 0

tuple1 = (1, 2, 3)
print(tuple1.count(3)) # 1

4.元组的特殊用法:交换两个变量的值【面试题】

  • 说明:
    • 在 Python 中可以使用对应数据个数的变量, 获取对应元组数据中的每一个元素
    • 在 Python 中定义多个元素的元组数据时, 小括号可以省略
    • 借助以上两个特性, 可以通过元组快速实现交换两个变量的值

num1 = 100
num2 = 200
#交换两个变量的值
num2, num1 = num1, num2
print(num1) # 200
print(num2) # 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是Lua模块?你会如何使用NGINX的Lua模块来定制请求处理流程?

大家好,我是锋哥。今天分享关于【什么是Lua模块?你会如何使用NGINX的Lua模块来定制请求处理流程?】面试题。希望对大家有帮助; 什么是Lua模块?你会如何使用NGINX的Lua模块来定制请求处理流程? 1000道 互联…

ubuntu扩展逻辑卷并调整文件系统大小步骤

安装好ubuntu如果没有调整磁盘空间,一般默认给你100G的空间,在用完时再调整也还来得及,下面是 ubuntu扩展逻辑卷并调整文件系统大小步骤: 1. 扩展逻辑卷 运行以下命令来扩展逻辑卷 /dev/ubuntu-vg/ubuntu-lv,使其使用卷组中所有未分配的空间&#xff…

复杂背景下无人机影像小目标检测:MPE-YOLO抗遮挡与抗背景干扰设计

目录 一、引言 二、挑战和贡献 密集小目标和遮挡 实时性要求与精度权衡 复杂背景 三、MPE-YOLO模型细节 多级特征集成器(MFI) 感知增强卷积(PEC) 增强范围C2f模块(ES-C2f) 四、Coovally AI模型训…

【C++】13.list的模拟实现

首先,我们需要把链表管理起来,也就是把一个个节点管理起来,但是每个节点的信息我们也需要管理,例如节点的前驱指针和后驱指针,以及节点的值,所以我们这里先封装两个类来管理节点和链表。 namespace Ro {te…

TinyVue v3.22.0 正式发布:深色模式上线!集成 UnoCSS 图标库!TypeScript 类型支持全面升级!

我们非常高兴地宣布,2025年4月7日,TinyVue发布了v3.22.0🎉。 本次 3.22.0 版本主要有以下重大变更: 支持深色模式增加基于 UnoCSS 的图标库更丰富的 TypeScript 类型声明支持 XSS 配置 详细的 Release Notes 请参考&#xff1a…

超级创新思路:基于CBAM-Transformer的强化学习时间序列预测模型(Python\matlab实现)

首先声明,该模型为原创!原创!原创!且该思路还未有成果发表,感兴趣的小伙伴可以借鉴!需要完整代码可私信或评论! 本方案可用于医疗、金融、交通、零售、光伏功率预测、估计预测、天气预测、流量预测、故障检测等领域! 目录 首先声明,该模型为原创!原创!原创!且该思…

Apache Sqoop数据采集问题

Sqoop数据采集格式问题 一、Sqoop工作原理二、Sqoop命令格式三、Oracle数据采集格式问题四、Sqoop增量采集方案 Apache Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库&…

Grok发布了Grok Studio 和 Workspaces两个强大的功能。该如何使用?如何使用Grok3 API?

最近Grok又更新了几个功能:Grok Studio 和 Workspaces。 其中 Grok Studio 主要功能包括: 代码执行:在预览标签中运行 HTML 片段、Python、JavaScript 等。 Google Drive 集成:附加并处理 Docs、Sheets、Slides等文件。 协作工…

Vue选项式 API 与组合式 API

选项式 API 与组合式 API 选项式 API 选项式 API 是 Vue 2 中常用的开发方式&#xff0c;在 Vue 3 里依旧得到支持。它把组件逻辑划分为不同的选项&#xff0c;像 data、methods、computed 等。 <template><div><p>Count: {{ count }}</p><button…

SiamMask中的分类分支、回归分支与Mask分支,有何本质差异?

SiamMask中的分类分支、回归分支与Mask分支&#xff0c;有何本质差异&#xff1f; 一、引言二、分支定位与任务目标三、网络结构与感受野设计3.1 分类分支&#xff08;Classification Head&#xff09;3.2 回归分支&#xff08;Regression Head&#xff09;3.3 Mask分支&#x…

threejs学习day02

场景、相机、渲染器 一、创建3D场景 // 引入threejs import * as THREE from three// 创建一个三维场景scene const scene new THREE.Scene();// 给三维场景添加物品 const geometry new THREE.BoxGeometry(100,100,100) // 形状 const meterial new THREE.MeshBasicMat…

K8S Pod 常见数据存储方案

假设有如下三个节点的 K8S 集群&#xff1a; k8s31master 是控制节点 k8s31node1、k8s31node2 是工作节点 容器运行时是 containerd 一、理论介绍 1.1、Volumes 卷 Kubernetes 的卷是 pod 的⼀个组成部分&#xff0c;因此像容器⼀样在 pod 的规范&#xff08;pod.spec&#x…

【MySQL数据库】函数操作

目录 1&#xff0c;日期函数 2&#xff0c;字符串函数 3&#xff0c;数学函数 1&#xff0c;日期函数 样例&#xff1a; 获得年月日 select current_date(); 获取时分秒 select current_time(); 获得时间戳 select current_timestamp(); 在日期的基础上加日期 在2025年4月27…

【每日随笔】文化属性 ① ( 天机 | 强势文化与弱势文化 | 文化属性的形成与改变 | 强势文化 具备的特点 )

文章目录 一、文化属性1、天机2、文化属性的强势文化与弱势文化强势文化弱势文化 二、文化属性的形成与改变1、文化属性形成2、文化属性改变3、文化知识的阶层 三、强势文化 具备的 特点 一、文化属性 1、天机 如果想要 了解这个世界的 底层架构 , 就需要掌握 洞察事物本质 的能…

【Fifty Project - D18】

感觉自己就不是计划星球人&#xff0c;虽然fifty project要求每天早上完成一天的计划&#xff0c;但是对于一个p人脑子&#xff0c;强制自己按照计划行事真的太难了。我也理解在早晨花费时间做好一天的计划有很多好处&#xff0c;但是实际行动起来完成率极低。p人的世界里变动太…

Linux系统编程 day11 锁 (两天没有更新了,中期完就休息了)

锁的注意事项 1、尽量保证锁的粒度&#xff0c;越小越好。(访问共享数据前&#xff0c;加锁&#xff0c;访问结束后立即解锁) 2、互斥锁&#xff0c;本质是结构体&#xff0c;但是可以看成整数&#xff0c;初值为1。(pthread_mutex_init调用成功) 3、加锁&#xff1a; --操作…

【Maven】特殊pom.xml配置文件 - BOM

文章目录 特殊pom.xml配置文件 - BOM一、例子二、注意事项1.特殊的子pom.xml文件2.dependencyManagement 特殊pom.xml配置文件 - BOM 仅用于集中管理项目依赖版本 在 Maven 中&#xff0c;BOM 用于定义一个项目的依赖版本的集合&#xff0c;通常用于管理一组共享的依赖版本。这…

《代码整洁之道》第5章 格式 - 笔记

你应该选择一套管理代码格式的简单规则。如果是团队&#xff0c;应该选择一套团队一致同意采用的简单格式规则。 最重要的原则&#xff1a;一致性&#xff08;Consistency&#xff09;&#xff01; 没有完美的格式规范&#xff0c;但有统一的规范。 整个团队&#xff08;或者…

C++ 类与对象(中)—— 默认成员函数与运算符重载的深度解析:构造函数,析构函数,拷贝构造函数,赋值运算符重载,普通取地址重载,const取地址重载

在 C 中&#xff0c;类的默认成员函数是编译器自动生成的重要机制&#xff0c;合理利用这些函数可以简化代码编写&#xff0c;同时避免资源管理错误。本文将从构造函数、析构函数、拷贝构造函数、赋值运算符重载等核心内容展开&#xff0c;结合具体案例深入解析。 一、默认成员…

【KWDB创作者计划】_企业级多模数据库实战:用KWDB实现时序+关系数据毫秒级融合(附代码、性能优化与架构图)

一、技术背景与行业痛点 1.1 多模数据融合挑战 场景痛点&#xff1a; 工业物联网设备每秒产生百万级传感器数据&#xff08;时序数据&#xff09;。需关联设备档案&#xff08;关系数据&#xff09;生成设备健康报告&#xff0c;传统方案需多数据库跳转&#xff0c;延迟>5…