当前位置: 首页 > news >正文

Python 数据类型方法(1)

目录

1.序列类型通用方法

2.字符串方法


1.序列类型通用方法

序列类型指的就是可以通过下标访问的数据 : 字符串 , 列表 , 集合 , 元组 , 字典

1.1 len()

len()  用于计算序列的长度

返回值是数值,表示当前序列一共有几个数据

print(len("abcds"))   #字符串长度
print(len([1,2,3,4])) #列表长度
print(len((1,2,34,5)))#元组长度
print(len({'name':'ouwen'})) #字典中键值对的数量
print(len({1,2,34})) #集合中元素的长度

输出结果:

5
4
4
1
3

1.2 max()

max() 用于检索序列中的最大元素,需要注意

5345
5345
5345
6

的是检索的值必须是数值或者数值类型字符串

返回值是序列中的最大值

print(max([1,2,3,4,5345,345,345,3]))  #列表
print(max((1,2,3,4,5345,345,345,3)))  #元组
print(max({1,2,3,4,5345,345,345,3}))  #集合
print(max('123456'))       #字符串

输出结果:

5345
5345
5345
6

1.3 min()

找最小值,和 max() 刚好相反

print(min([1,2,3,4,5345,345,345,3]))  #列表
print(min((1,2,3,4,5345,345,345,3)))  #元组
print(min({1,2,3,4,5345,345,345,3}))  #集合
print(min('123456'))       #字符串

输出结果:

1
1
1
1

1.4 sum()

计算元素之和,必须是数值,字符串都不行

sum() 适用于  列表 , 元组 , 集合

print(sum([1,2,3,4,5]))  #列表
print(sum((1,2,3,4,5)))  #元组
print(sum({1,2,3,4,5}))  #集合

输出结果:

15
15
15

2.字符串方法

2.1 str.join(ite) 

2.1.1 语法:

join  是 Python 中字符串的内置方法 ,用于将可迭代对象(如列表、元组、集合、字符串等 )中

的元素连接成一个字符串。

-  str  :是一个字符串,作为连接时的分隔符 ,用来分隔  ite 中的每个元素。比如  ","  表示用逗号

分隔,  ""  表示无分隔直接连接。

-  ite  :是要进行连接操作的可迭代对象,其中的元素必须都是字符串类型(若不是,需先转换

)。

2.1.2 原理:

#str.join()
print('-'.join(['2021','1','1'])) #列表
print('-'.join('abcde'))  #字符串
print('-'.join(('2021','1','1'))) #元组
print('-'.join({'2021','1','1'}))  #集合
print('-'.join({'name':'ouwen','age':'18'}))  #字典

输出结果:

2021-1-1
a-b-c-d-e
2021-1-1
1-2021
name-age

2.2 str.replace(old,new[ , count])

2.2.1 语法:

str.replace(old,new[ , count])  :  用于字符串替换,返回值是替换后的新字符

old : 需要替换的值

new : 替换后的新值

count : 替换几个值,默认是全部替换

2.2.2原理:

#str.replace(old,new[,count])
txt = '大家好我是一个大聪明,我非常的聪明'
#要求:将字符串里面的 聪明 改为 笨蛋
print(txt.replace('聪明','笨蛋'))
#要求:只需要替换 第一个笨蛋
print(txt.replace('聪明','笨蛋',1))

输出结果:

大家好我是一个大笨蛋,我非常的笨蛋
大家好我是一个大笨蛋,我非常的聪明

2.3 str.strip/lstrip/rstrip

str.strip/lstrip/rstrip  : 去除字符串两边或者某个方向的指定字符   l:左边  r:右边 

2.3.1 原理:

user_name = '  用户名  '
#去除左右两边的空格
print(user_name.strip('  '))
#去除左边的空格
print(user_name.rstrip('  '))
#去除右边的空格
print(user_name.lstrip('  '))

输出结果:

用户名用户名
用户名  

2.4 str.lower()/upper()

str.lower()/upper()  :  将字符串中的英文全部转换为大写(upper)或者小写(lower)

2.4.1 原理:

txt = 'abcDEF'print(txt.upper())
print(txt.lower())

输出如果:

ABCDEF
abcdef

2.5 str.split()

2.5.1 语法:

str.split(sep=None, maxsplit=-1)  :

-  sep (可选):分隔符(如  , 、 - 、空格等),默认值为  None (按任意空白符分割,连续空白

视为一个分隔符)。

-  maxsplit (可选):最大分割次数,默认值为  -1 (无限制)。

str.rsplit(sep=None, maxsplit=-1)  : 从右往左切割

1. 默认分割(按空白符)

s = "hello world python"
print(s.split())  # 输出: ['hello', 'world', 'python']

- 无参数时,按空格、制表符( \t )、换行符( \n )等空白符分割,自动忽略连续空白。
 
2. 指定分隔符

s = "a,b,c,d"
print(s.split(','))  # 输出: ['a', 'b', 'c', 'd'](按逗号分割)

3. 限制分割次数

s = "a-b-c-d"
print(s.split('-', 2))  # 输出: ['a', 'b', 'c-d'](最多分割2次)

2.5.2 原理:

#split : 从左往右切割
print('a,b,c,d'.split(','))
print('a-b-c-d'.split('-'))print('a-b-c-d'.split('-',1))
print('a-b-c-d'.split('-',2))#rstrip : 从右往左切割
print('a,b,c,d'.rsplit(','))
print('a,b,c,d'.rsplit(',',2))

输出结果:

['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd']
['a', 'b-c-d']
['a', 'b', 'c-d']
['a', 'b', 'c', 'd']
['a,b', 'c', 'd']

2.6 str.find(sub[, start[, end]])

2.6.1 语法:

str.find(sub[, start[, end]]) : 用于在字符串中查找指定子字符串的位置

-  sub :必填参数,表示要查找的子字符串。

-  start (可选):指定开始查找的起始位置索引,默认为0,即从字符串开头开始查找。

-  end (可选):指定查找的结束位置索引(不包含该位置),默认为字符串的长度,即查找到字

符串末尾。
 
返回值:
 
- 如果找到指定的子字符串,返回子字符串在原字符串中第一次出现的起始位置索引。

- 如果没有找到,则返回 -1。

2.6.2 原理:

txt = 'abcdefgabcabc'
# 找到字符串中b字符所在的下标位置
print(txt.find('b'))
print(txt.find('x'))print(txt.find('a',5))
print(txt.find('a',5,8))

2.7 str.index(sub[, start[, end]]

2.7.1 语法:

str.index(sub[, start[, end]]  : 在Python中, index() 也是字符串的一个常用方法,和 find() 方法

功能有相似之处,但也存在差异

-  sub :必填参数,代表要查找的子字符串。

-  start (可选):指定开始查找的起始位置索引,默认值为0,即从字符串开头开始查找。

-  end (可选):指定查找的结束位置索引(不包含该位置),默认值为字符串的长度,即查找到

字符串末尾。
 
返回值
 
- 当在字符串中找到指定的子字符串时,返回子字符串在原字符串中第一次出现的起始位置索引。

- 当找不到时会报错

2.7.2 原理:

print(txt.index('a'))
print(txt.index('b',1))
print(txt.find('a',5,8))
print(txt.find('x'))

输出结果:

0
1
7
ValueError  #报错

2.7.3 与findf的区别:

- 返回值差异: find() 方法在找不到指定子字符串时返回 -1 ;而 index() 方法在找不到指定子字符

串时会抛出 ValueError 异常。例如:
 

s = "hello world"
print(s.find("java"))  # 输出: -1
print(s.index("java"))  # 会抛出 ValueError: substring not found

 - 应用场景差异:如果只是想简单判断子字符串是否存在,并且希望以一个特定值( -1 )表示不

存在的情况,使用 find() 方法更合适;如果确定子字符串一定存在,希望在找到时获取其位置索

引,并且在子字符串意外不存在时让程序抛出异常以便及时发现问题,那么 index() 方法会更符合

需求。

2.8 str.count(sub[, start[, end]])

2.8.1 语法:

str.count(sub[, start[, end]])  : 用于统计指定子字符串在字符串中出现的次数

-  sub :要统计的子字符串,为必填参数。

-  start (可选):起始位置索引,默认为0,即从字符串开头开始统计。

-  end (可选):结束位置索引(不包含该位置),默认为字符串的长度,即统计到字符串末尾。
 
返回值:
 
- 返回指定子字符串在字符串中出现的次数。

- 没有就返回 0

2.8.2 原理:

data = 'aaabbbcccabc'
print(data.count('a'))
print(data.count('x'))

输出结果:

4
0

2.9 str.isdigit()

2.9.1 语法:

str.isdigit()   : 用于判断字符串中的所有字符是否都是纯数字(0 - 9)

返回值:
 
如果字符串中的所有字符都是数字且至少有一个字符,返回 True ;否则,返回 False 。

2.9.2 原理:

s1 = "123"
s2 = "abc"
s3 = "1a2"
s4 = ""
print(s1.isdigit())  
print(s2.isdigit()) 
print(s3.isdigit())  
print(s4.isdigit())

输出如果:

True
False
False
False

2.10 str.isalpha()

2.10.1语法:

str.isalpha()  : 用于判断字符串中的所有字符是否都是纯字母

返回值:
 
如果字符串中的所有字符都是字母且至少有一个字符,返回 True ;否则,返回 False 。

2.10.2 原理:

s1 = "abc"
s2 = "123"
s3 = "a1b"
s4 = ""
print(s1.isalpha()) 
print(s2.isalpha())
print(s3.isalpha())
print(s4.isalpha())  

输出结果:

True
False
False
False

字符串常见的内置函数就讲完了,希望大家能理解,接下来还会讲解列表,元祖,集合有关的内置

函数。希望大家能关注主播,感谢大家的观看!

http://www.xdnf.cn/news/638785.html

相关文章:

  • Docker 一键部署倒计时页面:Easy Countdown全设备通用
  • 2025年5月18日蓝桥stema省选拔赛答案解析
  • GDB调试工具详解
  • 探索高效视频下载:一款绿色版工具的实用体验
  • FreeRTOSConfig.h的作用
  • Three.js 海量模型加载性能优化指南
  • CMake指令:find_package()在Qt中的应用
  • C# 深入理解类(索引器)
  • Disruptor—3.核心源码实现分析一
  • 黑马点评-分布式锁Lua脚本
  • 在线热更新 Upstream全面掌握 ngx_http_upstream_conf_module
  • 华为OD机试真题——字符串加密 (2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • HTTP 和 HTTPS 的区别
  • 量子力学:量子力学为什么不属于经典物理学的范畴?
  • 【面板数据】上市公司外资持股数据集(2005-2023年)
  • 临床研究统计分析核心概念解析
  • 【MATLAB代码】主动声纳多路径目标测距与定位,测距使用互相关,频率、采样率可调、声速可调,定位使用三边法|订阅专栏后可直接查看源代码
  • C++学习之STL学习:string类常用接口的模拟实现
  • 大语言模型的完整训练周期从0到1的体系化拆解
  • 基于Qt的app开发第十一天
  • C语言指针详解
  • 湖北理元理律师事务所债务优化方案:让还款与生活平衡的艺术
  • [项目总结] 基于Docker与Nginx对项目进行部署
  • 思考:chmod u+x等价于chmod u=x吗
  • baseParse 有参数可以处理重复属性的逻辑吗
  • 题目 3326: 蓝桥杯2025年第十六届省赛真题-最短距离
  • 医学写作人才管理策略
  • 如何提高用例的覆盖率,减少漏测
  • Java多线程JUC
  • 三重天理论