补充字符串数据类型内置方法

1.移除字符串首尾的指定字符可以选择方向1:
s1 = '$$$jason$$$'
print(s1.strip('$')) # jason
print(s1.lstrip('$')) # jason$$$ left 左边
print(s1.rstrip('$')) # $$$jason right 右边
2.大小写相关操作:
s1 = 'wqeWWWqqq'
print(s1.lower()) # 将所有的英文字母变为小写 #wqewwwqqq
print(s1.upper()) # 将所有的英文字母变为大写 #WQEWWWQQQ
print(s1.islower()) # 判断字符串中所有的英文字母是否是纯小写 结果是布尔值 # False
print(s1.isupper()) # 判断字符串中所有的英文字母是否是纯大写 结果是布尔值 # False
3.图片验证码:
code = 'JaSOn6'
print('这是返回给用户的图片验证码:%s' % code)
user_code = input('请输入验证码>>>:').strip()
if code.lower() == user_code.lower(): # 验证码忽略大小写 只需要统一转大写或者小写即可
print('验证码正确')
4.判断字符串的开头或者结尾是否是指定的字符
s1 = 'jason tony 666'
print(s1.startswith('j')) # True
print(s1.endswith('jason')) # False
5.格式化输出:
1 是占位符 %s和%d
2 用{}来代替%s和%dprint('my name is {} my age is {}'.format('jason', 18))
3 可以用索引取值的方式来反复使用
print('my name is {0} {0} {0} my age is {0} {1}'.format('jason', 18))
4 可以用变量名来进行取值
print('my name is {name} {name} my age is {age} {pwd}'.format(name='jason', age=18, pwd=123))
5 直接使用已经出现过的变量名来取值
name = 'jason' age = 18
print(f'my name is {name} my age is {age} {name} {age}')
6.对比字符串:
s1 = [20, 25, 36]
s2 = [30, 36, 99]
print(s1 > s2) # Farse
print(s1 < s2) # Ture
7 拼接字符串:
s1 = '三月不努力 四月变垃圾'
s2 = '年少不努力 妄为少年人'
print('|'.join(s1)) # 三|月|不|努|力| |四|月|变|垃|圾
print('$'.join(['jason', 'kevin', 'justin', 'tony']))
# jason$kevin$justin$tony
注:join方法相当于是将括号内的元素进行for循环
l1 = ['11', 'jason', 'kevin']
print('|'.join(l1)) # 11|jason|kevin
8.替换字符串中的指定字符
s1 = 'thn thn thn ben dan'
prtin(s1.replace('thn',(zfx)) # 一次性替换
# zfx zfx zfx ben dan
指定替换个数
prtin(s1.replace('thn','zfx', 2))
# 从0开始从左往右
# thn thn zfx ben ben
注:很多文本编辑器里面的替换功能 就可以使用replace完成
9.判断字符串中是否都是纯数字
s1 = 'thn321'
prtin(s1.isdigit()) #False
prtin('321'.isdigit()) #Ture
prtin('321.123'.isdigit()) # False

需要了解的含义

1.查找指定字符对应的索引值
s1 = 'i, j, cmd'
prtin(s1.find('m')) # 从左往右查找查到就是 #3
print(s1.index('i')) #0
print(s1.find('m', 0, 3)) # -1 意思是没有 找不到
他是从1到9也就是从i开始到到j后的空格找不到m就是 -1
2.文本的位置改变
age = 18
prtin(age.center(30, '=')) 中间18两侧各15个=因为是30个
同上猜想 ljust 右侧 30个 =
rjust 左侧 30个 =
print(age.zfill(50)) zero 零 默认从左往右000~000 50个0后18
3.特殊符号:斜杠与一些英文字母的组合会产生特殊的含义
print('ja\tson\nke\avin')
\在markdown语法中是有特殊含义的 如果想取消它们的特殊含义 可以在字符串的前面加一个字母r
#print(r'ja\tson\nke\avin') 4.captalize,swapcase,title
captalize 字符首字母大写
swapcase 大小写翻转 大写变小写小写变大写
title 每个字母的手写大写 类似与大小驼峰

列表内置办法

1.类型转换
可以说是除了整数型 浮点型 其他都可以做到类型转换
转换为数据列表 但是字典为只能转换K:
print(list({'name': 'jason', 'pwd': 123})) # ['name', 'pwd'] '''list可以转换支持for循环的数据类型
可以被for循环的数据类型
字符串 列表 字典 元组 集合
2.常见操作
name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
1.索引取值
print(name_list[0])
print(name_list[-1])
2.切片操作
print(name_list[1:4]) # ['kevin', 'tony', 'tom']
print(name_list[-4:-1]) # ['kevin', 'tony', 'tom']
print(name_list[-1:-4:-1]) # ['jerry', 'tom', 'tony']
3.间隔
print(name_list[0:4:1]) # ['jason', 'kevin', 'tony', 'tom']
print(name_list[0:4:2]) # ['jason', 'tony']
print(name_list[-1:-4:-1]) # ['jerry', 'tom', 'tony']
4.统计列表中元素的个数
print(len(name_list)) # 5
5.成员运算 最小判断单位是元素不是元素里面的单个字符
print('j' in name_list) # False
print('jason' in name_list) # True
6.列表添加元素的方式
6.1.尾部追加'单个'元素
name_list.append('小李')
print(name_list)
name_list.append([11, 22, 33, 44])
print(name_list)
6.2.指定位置插入'单个'元素
name_list.insert(0, 123)
name_list.insert(2, '可不可以插个队')
name_list.insert(1, [11, 22, 33])
print(name_list)
6.3.合并列表
name_list.extend([11, 22, 33, 44, 55])
print(name_list)
'''extend其实可以看成是for循环+append'''
for i in [11, 22, 33, 44, 55]:
name_list.append(i)
print(name_list)
name_list += [11, 22, 33, 44, 55]
print(name_list) # 加号的效率不高
7.删除元素
7.1 通用的删除方式
del name_list[0]
print(name_list)
7.2 就地删除 # 指名道姓的直接删除某个元素
print(name_list.remove('jerry')) # None
print(name_list)
7.3 延迟删除
print(name_list.pop()) # 默认是尾部弹出 jerry
print(name_list)
print(name_list.pop(2)) # 还可以指定索引值 tony
print(name_list)
8.修改列表元素
print(id(name_list[0])) # 2614038082368
name_list[0] = 'jasonDSB'
print(id(name_list[0])) # 2614038926320
print(name_list)
9.排序
ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.sort() # 默认是升序
print(ss) # [11, 22, 33, 44, 66, 77, 88, 99]
ss.sort(reverse=True) # 可以修改为降序
print(ss) # [99, 88, 77, 66, 44, 33, 22, 11] 10.翻转
ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.reverse() # 前后颠倒
print(ss) 11.比较运算
s1 = [11, 22, 33]
s2 = [1, 2, 3, 4, 5, 6, 7, 8]
print(s1 > s2) # True
"""列表在做比较的时候 其实比的是对应索引位置上的元素"""
s1 = ['A', 'B', 'C'] # A>>>65
s2 = ['a'] # a>>>97
print(s1 > s2) # False
ss = [44, 77, 99, 11, 22, 33, 88, 66]
print(ss.index(99))
# 12.统计列表中某个元素出现的次数
l1 = [11, 22, 33, 44, 33, 22, 11, 22, 11, 22, 33, 22, 33, 44, 55, 44, 33]
print(l1.count(11)) # 统计元素11出现的次数
l1.clear() # 清空列表
print(l1)

可变类型与不可变类型

1 = '$$$jason$$$'
print(s1.strip('$')) # jason 本身并没有修改 是产生了新的结果
print(s1) # $$$jason$$$ s2 = [1, 2, 3]
print(s2.extend([11, 22, 33, 44, 55])) # None 空
print(s2) # [1, 2, 3, 11, 22, 33, 44, 55]
"""
可变类型与不可变类型
可变类型 列表
值改变 内存地址不变 修改的是本身
不可变类型 字符串
值改变 内存地址肯定遍 修改过程产生了新的值
如何查看变量的'内存地址'
"""
s2 = [1, 2, 3]
print(id(s2)) # 2171184953160
s2.append(11111111)
print(id(s2)) # 2171184953160 s1 = ' jason '
print(id(s1))
res = s1.strip()
print(res)
print(s1, id(s1))

队列与堆栈

队列
先进先出
eg:超市排队结账 符合队列的特征
堆栈
先进后出
eg:叠衣服 符合堆栈的特征
使用列表模拟出队列与堆栈的特征
# 队列
new_list = []
先进
new_list.append(111)
new_list.append(222)
new_list.append(333)
先出
for i in new_list:
print(i)
print(new_list.pop(0))
print(new_list.pop(0))
print(new_list.pop(0)) # 堆栈
new_list = []
# 先进
new_list.append(111)
new_list.append(222)
new_list.append(333)
# 后出
print(new_list.pop())
print(new_list.pop())
print(new_list.pop())

python中其他数据类型内置方法的更多相关文章

  1. python中字符串的内置方法

    这里说的是字符串中的内置方法,毕竟字符串是最常用的操作对象. ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '_ ...

  2. python中的字典内置方法小结

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- #key-value #dict 无序,无下标,不需要下标,因为有key stu={ 'stu001': ...

  3. python中的集合内置方法小结

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- #集合性质:需要传入一个list,且不含重复的元素,无序 list_1=[1,2,1,4,5,8,3,4 ...

  4. python中的列表内置方法小结

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- ''' names=['zhangyu','mahongyan','zhangguobin','shac ...

  5. python中的字符串内置方法小结

    #!/usr/local/bin/python3 # -*- coding:utf-8 -*- ''' name="my wife is mahongyan" ---------- ...

  6. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

  7. python循环与基本数据类型内置方法

    今天又是充满希望的一天呢 一.python循环 1.wuile与else连用 当while没有被关键'break'主动结束的情况下 正常结束循环体代码之后会执行else的子代码 "" ...

  8. python今日分享(内置方法)

    目录 一.习题详解 二.数据类型的内置方法理论 三.整型相关操作 四.浮点型相关操作 五.字符串相关操作 六.列表相关操作 今日详解 一.习题详解 1.计算1-100所有数据之和 all_num = ...

  9. while.for循环和基本数据类型内置方法

    while循环补充说明 流程控制之for循环 基本数据类型内置方法 内容详细 1.死循环 真正的死循环是一旦执行,Cpu的功耗会急速上升 知道系统采取紧急措施 所以 尽量不要让cpu长时间不断运算. ...

随机推荐

  1. CF492E题解

    屑题. 考虑对于每一个 \((x,y)\),将其与 \(((x+dx) \mod n,(y+dy) \mod n)\) 连边. 答案就是连通块中权值最大的那个. 考虑对于 \((x_1,y_1)\) ...

  2. Docker容器和虚拟机区别

    Docker .虚拟机之间区别 虚拟机技术的缺点: 1.资源占用太多 2.冗余步骤多 3.启动很慢 容器化技术 1.服务器资源利用率高 2.比较轻量化 3.打包镜像测试,一键运行 比较Docker和虚 ...

  3. 分享一些阅读Java相关框架源码的经验

    昨天和部分网友进行了线上的交流,交流中有不少网友提到阅读源码比较难,不知道怎么上手.胖哥分享了一些个人经验,这里总结一下. 阅读源码实际上是Debug源码 其实所谓的阅读源码并不是单纯的阅读,而是调试 ...

  4. Spring AOP调用本类方法为什么没有生效

    首先请思考一下以下代码执行的结果: LogAop.java //声明一个AOP拦截service包下的所有方法@Aspectpublic class LogAop { @Around("ex ...

  5. 硬吃一个P0故障,「在线业务」应该如何调优HBase参数?

    1.背景 由于种种原因,最近将核心业务生产使用的HBase迁移到了云上的弹性MapReduce(EMR)集群上,并使用了EMR的HBase组件默认参数配置. 结果在流量高峰期出现了宿主机故障,挂掉了两 ...

  6. 跨平台跨架构的统信DTK开发套件教程及常见问题

    DTK是统信基于Qt开发的一整套简单且实用的通用开发框架,处于统信UOS系统中的核心位置,统信UOS浏览器.音乐.邮件等40余款原生应用全部使用DTK开发.DTK从开发者的角度出发,融合现代化的开发理 ...

  7. 串和KMP算法

    一.串 串是由零个或多个字符串组成的有限序列 (一).串的定义 定长顺序存储 特点:每个串变量分配一个固定长度的存储区,即定长数组 定义: #define MAXLEN 255 typedef str ...

  8. STM32注意事项

    1. STM32 USB可配置在全速模式,时钟频率需为48MHz,且精度较高,无法使用芯片内部高速时钟实现(内部时钟精度一般为1%,但USB时钟需要0.1%) 2. 使用重映射功能时,需注意开启AFI ...

  9. WebGPU 工具分享 - WGSL 代码高亮插件(VSCode)与预处理工具

    WGSL 还在积极讨论中,虽然各位大佬不是很满意这个新生儿. 不过,社区已经有了基础的实验性工具(VSCode 插件),并支持了较新的语法. ① WGSL 插件 这个插件支持对文件扩展名为 .wgsl ...

  10. display 不同的值及他们的作用

    display 不同的值及他们的作用 常见 block 块元素类型,默认宽度为父元素宽度,可设置宽高,并独占一行 none 元素不显示,并从文档流中移除 inline 行内元素类型,默认宽度为内容宽度 ...