数据容器入门(str)

news2024/10/6 2:23:22

        字符串是字符的容器,一个字符串可以存放任意数量的字符

 

 字符串的特点:

        作为数据容器,字符串有如下特点:

  • 只可以存储字符串
  • 长度任意(取决于内存大小)
  • 支持下标索引
  • 允许重复字符串存在
  • 不可以修改(增加或删除元素等)
  •  支持for、while循环    

字符串的操作:

通过下标索引取值

my_str = "python and java"
value = my_str[0]
value1 = my_str[-15]
print(f"从字符串{my_str}取下标为0的元,值是:{value}")
print(f"从字符串{my_str}取下标为-15的元,值是:{value1}")


结果:
从字符串python and java取下标为0的元,值是:p
从字符串python and java取下标为-15的元,值是:p

index方法

my_str = "python and java"
value = my_str.index('and')
print(f"在字符串{my_str}中查找and,其起始下标是:{value}")

结果:
在字符串python and java中查找and,其起始下标是:7

replace方法

my_str = "python and java"
new_my_str = my_str.replace("a", "程序")
print(f"将字符串中的 a 替换为 程序 得到一个新的字符串为:{new_my_str}")

结果:
将字符串中的 a 替换为 程序 得到一个新的字符串为:python 程序nd j程序v程序

# split方法

my_str = "python and java"
new_my_str = my_str.split(" ")   # 将字符串按空格切割得到一个新的字符串
print(f"将字符串{my_str}按空格切割得到:{new_my_str},它的类型是:{type(new_my_str)}")


结果:
将字符串python and java按空格切割得到:['python', 'and', 'java'],它的类型是:<class 'list'>

strip方法

my_str = "  python and java  "
new_my_str = my_str.strip()    # 不传入参数,去除首尾空格
print(f"字符串{my_str}被strip后,结果是:{new_my_str},它的类型是:{type(new_my_str)}")
my_str = "12python and java21"
new_my_str = my_str.strip("12")    # 12 相当于俩字字符1 和 2 只要符合就去除
print(f"字符串{my_str}被strip('12'),结果是:{new_my_str},它的类型是:{type(new_my_str)}")


结果:

字符串  python and java  被strip后,结果是:python and java,它的类型是:<class 'str'>
字符串12python and java21被strip('12'),结果是:python and java,它的类型是:<class 'str'>

统计字符串中某字符串出现的次数

my_str = "python and java"
count = my_str.count('a')
print(f"字符串{my_str}中a出现:{count}次")

结果:
字符串python and java中a出现:3次

 统计字符串的长度

my_str = "python and java"
print(f"字符串{my_str}的长度是:{len(my_str)}")

结果:
字符串python and java的长度是:15

 for 循环

my_str = "python and java"
for a in my_str:
    print(f"字符串{my_str}里面的元素是:{a}")

结果:
字符串python and java里面的元素是:p
字符串python and java里面的元素是:y
字符串python and java里面的元素是:t
字符串python and java里面的元素是:h
字符串python and java里面的元素是:o
字符串python and java里面的元素是:n
字符串python and java里面的元素是: 
字符串python and java里面的元素是:a
字符串python and java里面的元素是:n
字符串python and java里面的元素是:d
字符串python and java里面的元素是: 
字符串python and java里面的元素是:j
字符串python and java里面的元素是:a
字符串python and java里面的元素是:v
字符串python and java里面的元素是:a

 while 循环

my_str = "python and java"
a = 0
while a < len(my_str):
    print(f"字符串{my_str}里面的元素是:{my_str[a]}")
    a += 1


结果:
字符串python and java里面的元素是:p
字符串python and java里面的元素是:y
字符串python and java里面的元素是:t
字符串python and java里面的元素是:h
字符串python and java里面的元素是:o
字符串python and java里面的元素是:n
字符串python and java里面的元素是: 
字符串python and java里面的元素是:a
字符串python and java里面的元素是:n
字符串python and java里面的元素是:d
字符串python and java里面的元素是: 
字符串python and java里面的元素是:j
字符串python and java里面的元素是:a
字符串python and java里面的元素是:v
字符串python and java里面的元素是:a

练习:

# 定义字符串
my_str = "itheima itcast boxuegu"
# 统计字符串内有多少个“it”字符
num = my_str.count("it")
print(f"字符串{my_str}内有{num}个'it'字符")
# 将字符串内的空格,全部替换为字符:"|"
new_my_str = my_str.replace(' ', '|')
print(f"字符串{my_str}内的空格替换为'|'得到新的字符串为:{new_my_str}")
# 按照“|”进行字符串分割,得到列表
str_list = new_my_str.split('|')
print(f"字符串{new_my_str}按照“|”进行字符串分割,得到列表:{str_list},它的类型是{type(str_list)}")


结果:
字符串itheima itcast boxuegu内有2个'it'字符
字符串itheima itcast boxuegu内的空格替换为'|'得到新的字符串为:itheima|itcast|boxuegu
字符串itheima|itcast|boxuegu按照“|”进行字符串分割,得到列表:['itheima', 'itcast', 'boxuegu'],它的类型是<class 'list'>

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

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

相关文章

智慧数据驱动:基于smardaten构建多维数据可视化大屏

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

网络虚拟化相关的Linux接口介绍

Linux拥有丰富的网络虚拟化功能&#xff0c;能被虚拟机&#xff0c;容器还有云网络使用。在这篇文章中&#xff0c;我会给出所有通用网络虚拟化接口的简要介绍。没有代码分析&#xff0c;只有简短的接口介绍和在Linux上的使用操作。这系列接口都可以使用ip link命令实现。 这篇…

reggie优化06-项目部署

1、部署架构 2、部署环境 3、部署前端 4、部署后端 修改图片位置&#xff0c;并push至仓库

Redis数据类型(2)

⭐ 作者简介&#xff1a;码上言 ⭐ 代表教程&#xff1a;Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容&#xff1a;个人博客系统 ⭐我的文档网站&#xff1a;http://xyhwh-nav.cn/ 文章目录 Redis数据类型1、Redis 键(key)1.1、KEYS pattern1.2、EXISTS k…

Vector - CANoe - VCDL与SomeIP

目录 一、基础介绍 二、vCDL介绍 1、vCDL工程创建 2、 vCDL编辑器关键字介绍 3、创建命名空间Datatype 接口示例 4、创建命名空间ICalculate 5、创建命名空间Participants 一、基础介绍 SomeIP作为车载以太网一个重要的组成部分&#xff0c;因为它的测试也是我们作为总…

windows PE 指南(基础部分)(二)

windows PE 指南&#xff08;基础部分&#xff09;&#xff08;二&#xff09; PE文件头IMAGE_OPTIONAL_HEADER.AddressOfEntryPointSectionAlignmentFileAlignment PE文件布局和装入后内存布局节表内容你想在PE文件&#xff08;PE内存映像&#xff09;里面找一个数据该怎么找&…

iOS-Block

Blocks的学习 Block的分类 Block根据其类型可以分为三类&#xff1a; 全局Block&#xff08;NSGlobalBlock&#xff09;栈Block&#xff08;NSMallocBlock&#xff09;堆Block&#xff08;NSStackBlock&#xff09; 而其区分的规则为&#xff1a; 如果没有引用局部变量&…

PHP特性之CTF中常见的PHP绕过

目录 一、关于md5()和sha1()的常见绕过 1、使用数组绕过 2、 使用特殊字符串绕过 二、strcmp绕过 三、switch绕过 四、intval绕过 一、关于md5()和sha1()的常见绕过 知识介绍&#xff1a; 1、对于php强比较和弱比较&#xff1a;md5()&#xff0c;sha1()函数无法处理数组…

【数据挖掘】如何为可视化准备数据

一、说明 想要开始您的下一个数据可视化项目吗&#xff1f;首先与数据清理友好。数据清理是任何数据管道中的重要步骤&#xff0c;可将原始的“脏”数据输入转换为更可靠、相关和简洁的数据输入。诸如Tableau Prep或Alteryx之类的数据准备工具就是为此目的而创建的&#xff0c;…

【ACM】—蓝桥杯大一暑期集训Day4

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前正在学习C/C、Java、算法等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&#xff…

基于STM32的homeassistant(采用FreeRTOS操作系统)【第一、二章优化拓展:Wifi、服务器连接验证以及UASRT串口区分】

第一、二章优化拓展开发环境&#xff1a; 主控STM32F103C8T6WIFI模块ESP01S开发语言C开发编译器 KEIL 组网方式WIFI服务器协议MQTT 硬件连接 STM32ESP01S3.3V3.3V GND GND GPIO2 (USRAT2-TX) RXGPIO3 (USART3-RX)TX 本章要点&#xff1a; 对ESP01S的AT指令的反馈指令进…

集合面试题--HashMap

目录 HashMap实现原理 HashMap的jdk1.7和jdk1.8有什么区别 总结 HashMap的put方法的具体流程 常见属性 添加数据的流程图 ​编辑 具体实现源码 总结 HashMap的扩容机制 总结 hashMap的寻址算法 总结 hashmap在1.7情况下的多线程死循环问题 HashMap实现原理 HashMap的…

MyBatis的多表操作

1 MyBatis的多表操作 1.1 多表模型介绍 我们之前学习的都是基于单表操作的&#xff0c;而实际开发中&#xff0c;随着业务难度的加深&#xff0c;肯定需要多表操作的。 多表模型分类 一对一&#xff1a;在任意一方建立外键&#xff0c;关联对方的主键。 一对多&#xff1a;在…

IDEA 工具- Java - Tomcat 9.x - 无法使用外部 tomcat 服务器的断点测试功能

问题&#xff1a;使用外部 Tomcat 运行项目&#xff0c;却无法使用断点功能测试 Java 项目 解决方法&#xff1a; 在 IDEA 工具的tomcat Edit configurations&#xff0c;进行修改 具体配置位置&#xff1a; Environment Variables 配置选项添加内容&#xff1a; NameValueJ…

Unity游戏源码分享-线条圆圈游戏Line and Circle Game Template

Unity游戏源码分享-线条圆圈游戏Line and Circle Game Template 圆圈穿过线条就通关 工程地址&#xff1a; https://download.csdn.net/download/Highning0007/88061484

java学习路程之篇十、知识点、数组介绍、二维数组介绍、静态初始化、访问元素、遍历元素、动态初始化、内存图、数组常见问题

文章目录 01、数组介绍02、数组静态初始化03、数组元素访问04、数组遍历操作05、数组动态初始化06、数组内存图07、数组常见问题08、二维数组介绍09、二维数组静态初始化10、二维数组遍历11、二维数组动态初始化12、二维数组内存图 01、数组介绍 02、数组静态初始化 03、数组元…

封装 视频以及监控组件

1.引入插件。 文件Git 地址&#xff1a; https://gitee.com/wang-xiaowang123/liveplayer.html 文件中 <script src"/assets/js/liveplayer-lib.min.js" exclude></script> // liveplayer-lib.min.js 文件在Git仓库中2.封装组件 LivePlayerDemo.vue …

php做网页版剪刀石头布的功能

实例讲述了php实现的网页版剪刀石头布攻略在玩游网上的设计。分享给大家供大家参考&#xff0c;具体如下&#xff1a; <?php /* * Created on 2016-11-25 * */ if (isset($_POST[sub])) { $what $_POST[what]; //需要输入的数组 $my_array array("剪刀","…

算法通关村第一关-链表青铜挑战笔记

文章目录 前言一、Java的链表是怎么构造的&#xff1f;单链表的构造简介&#xff1a; 构造链表&#xff1a; 链表增加元素&#xff0c;首部&#xff0c;中间和尾部分别会有什么问题&#xff0c;需要怎么处理&#xff1f;链表的新增在头部添加元素&#xff1a;在中间添加元素&am…