【Python】一文带你掌握数据容器之元组,字符串

简介: 【Python】一文带你掌握数据容器之元组,字符串

一、元组

前言:如果想要传递的信息,不被篡改,列表就不能满足条件了

由此当我们需要在程序内封装数据,又不希望封装的数据被篡改,那么我们就引入了元组

1.定义元组

元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型

# 定义元组字面量
(元素,元素,......,元素)
# 定义元组变量
变量名称 = (元素,元素,......,元素)
# 定义空元组
变量名称 = ()   #方式1
变量名称 = tuple()  # 方式2

元组也支持嵌套:

# 元组的嵌套
t1 = ((1, 2, 3), (4, 5, 6))
print(t1[0][0])
# 结果:1

注意事项:

# 定义3个元素的元组
t1 = (1, 'Hello', True)
# 定义1个元素的元组
t2 = ('Hello',)
# 注意,必须带有逗号,否则不是元组类型,而是字符串类型

注意:元组只有一个数据,这个数据后面要添加逗号

2.元组的相关操作

编号 方法 作用
1 元组.index() 查找某个数据,如果数据存在返回对应的下标,否则报错
2 元组.count() 统计某个数据在当前元组出现的次数
3 len(元组) 统计元组内的元素个数
# 根据下标(索引)取出数据
t1 = (1, 2, 'hello')
print(t1[2])  # 结果:'hello'
# 根据index0),查找特定元素的第一个匹配项
t1 = (1, 2, 'hello', 3, 4, 'hello')
print(t1.index('hello'))  # 结果:2
#  统计某个数据在元组内出现的次数
t1 = (1, 2, 'hello', 3, 4, 'hello')
print(t1.count('hello'))  # 结果:2
#  统计元组内的元素个数
t1 = (1, 2, 3)
print(len(t1))  # 结果:3

注意事项:

(1)不可以修改元组的内容,否则会直接报错

# 尝试修改元组内容
t1 = (1, 2, 3)
t1[0] = 5
TypeError:'tuple' object does not support item assignment

(2)可以修改元组内的list的内容(修改元素、增加、删除、反转等)

# 修改元组内的list的内容
t1 = (1, 2, ['bite', 'Python'])
t1[2][1] = 'best'
print(t1)
#结果:(1, 2, ['bite', 'best'])

元组的遍历和列表一样,在此就不多赘述

3.元组的特点

经过上述对元组的学习,可以总结出列表有如下特点

(1)可以容纳多个数据

(2)可以容纳不同类型的数据 (混装)

(3)数据是有序存储的下标索引)

(4)允许重复数据存在

(5)不可以修改(增加或删除元素等)

(6)支持for循环

多数特性和list一致,不同点在于不可修改的特性


二、字符串

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

1.字符串的常见操作

编号

操作

作用
1 字符串[下标] 根据下标索引取出特定位置字符
2 字符串.index(字符串) 查找给定字符的第一个匹配项的下标
3 字符串.replace(字符串1,字符串2) 将字符串内的全部字符串1,替换为字符串2不会修改原字符串,而是得到一个新的
4 字符串.split(字符串) 按照给定字符串,对字符串进行分隔不会修改原字符串,而是得到一个新的列表
5 字符串.strip()
字符串.strip(字符串)
移除首尾的空格和换行符或指定字符串
6 字符串.count(字符串) 统计字符串内某字符串的出现次数
7 len(字符串) 统计字符串的字符个数

显示详细信息

(1)字符串的下标(索引)

从前向后,下标从0开始

从后向前,下标从-1开始

# 通过下标索引取值
my_str = "bite is the best"
value = my_str[2]
value2 = my_str[-4]
print(f"从字符串{my_str}取下标为2的元素值为{value},取下标为-4的元素的值为{value2}")
# 结果:从字符串bite is the best取下标为2的元素值为t,取下标为-4的元素的值为b

同元组一样,字符串是一个:无法修改的数据容器

所以:

修改指定下标的字符                   (如:字符串[0]=“a”)

移除特定下标的字符                   (如:del字符串[0]、字符串.remove()、字符串pop()等)

追加字符等                                 (如:字符串append0)

均无法完成。如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改


(2)查找特定字符串的下标索引值

语法: 字符串.index(字符串)

my_str = "bite is the best"
print(my_str.index("is"))
# 结果:5

(3)字符串的替换

语法: 字符串.replace(字符串1,字符串2)

功能: 将字符串内的全部: 字符串1,替换为字符串2

注意:不是修改字符串本身,而是得到了一个新字符串

my_str = "itheima and itcast"
new_my_str = my_str.replace("it", "go")
print(new_my_str)
# 结果:goheima and gocast

(4)字符串的分割

语法: 字符串.split(分隔符字符串 )

功能: 按照指定的分隔符字符串,将字符串划分为多个字符串,并存人列表对象中

注意:字符串本身不变,而是得到了一个列表对象

my_str = "bite is the best"
my_str_list = my_str.split(" ")
print(my_str_list)
# 结果:['bite', 'is', 'the', 'best']

(5) 字符串的规整操作

<1>字符串,strip() -(去前后空格)

my_str = " bite is the best "
new_my_str = my_str.strip()
print(new_my_str)
# 结果:bite is the best

<2> 字符串.strip(字符串) -(去前后指定字符串)

注意,传入的是“12” 其实就是:”1”和”2”都会移除,是按照单个字符

my_str = "12bite is 12the best212"
new_my_str = my_str.strip("12")
print(new_my_str)
# 结果:bite is 12the best

(6) 统计字符串中某字符串的出现次数-字符串.count(字符串)
my_str = "itheima and itcast"
count = my_str.count("it")
print(f"字符串{my_str}中it出现的次数是: {count}")
# 结果:字符串itheima and itcast中it出现的次数是: 2

2. 字符串的特点

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

(1)只可以存储字符串

(2)长度任意 (取决于内存大小)

(3)支持下标索引

(4)允许重复字符串存在

(5)不可以修改(增加或删除元素等)

(6)支持for循环


本次内容就到此啦,欢迎评论区或者私信交流,觉得笔者写的还可以,或者自己有些许收获的,麻烦铁汁们动动小手,给俺来个一键三连,万分感谢 !  


目录
相关文章
|
13天前
|
移动开发 自然语言处理 Linux
Python中r前缀:原始字符串的魔法解析
本文深入解析Python中字符串的r前缀(原始字符串)的设计原理与应用场景。首先分析传统字符串转义机制的局限性,如“反斜杠地狱”问题;接着阐述原始字符串的工作机制,包括语法定义、与三引号结合的用法及特殊场景处理。文章重点探讨其在正则表达式、文件路径和多语言文本处理中的核心应用,并分享动态构建、混合模式编程等进阶技巧。同时纠正常见误区,展望未来改进方向,帮助开发者更好地理解和使用这一特性,提升代码可读性和维护性。
31 0
|
19天前
|
数据采集 监控 数据安全/隐私保护
Python正则表达式:用"模式密码"解锁复杂字符串
正则表达式是处理字符串的强大工具,本文以Python的`re`模块为核心,详细解析其原理与应用。从基础语法如字符类、量词到进阶技巧如贪婪匹配与预定义字符集,结合日志分析、数据清洗及网络爬虫等实战场景,展示正则表达式的强大功能。同时探讨性能优化策略(如预编译)和常见错误解决方案,帮助开发者高效掌握这一“瑞士军刀”。最后提醒,合理使用正则表达式,避免过度复杂化,追求简洁优雅的代码风格。
42 0
|
2月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
3月前
|
索引 Python
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
|
3月前
|
存储 SQL 索引
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
|
3月前
|
安全 数据处理 索引
深入探讨 Python 列表与元组:操作技巧、性能特性与适用场景
Python 列表和元组是两种强大且常用的数据结构,各自具有独特的特性和适用场景。通过对它们的深入理解和熟练应用,可以显著提高编程效率和代码质量。无论是在数据处理、函数参数传递还是多线程环境中,合理选择和使用列表与元组都能够使得代码更加简洁、高效和安全。
89 9
|
6月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
274 64
|
6月前
|
Python
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
206 62
|
4月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
57 0
|
5月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
94 5