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

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. 全卷积网络(FCN)实战:使用FCN实现语义分割

    摘要:FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题. 本文分享自华为云社区<全卷积网络(FCN)实战:使用FCN实现语义分割>,作者: AI浩. FCN对图像进行像素级的 ...

  2. tomcat manager status配置

    1. 确保tomcat下原来自带的几个项目未被删掉,tomcat启动时localhost:8080能直接访问tomcat主页 2. 修改tomcat下 conf/tomcat-users-xml文件, ...

  3. linux如何通过文件2,3找回文件1?

    查看系统是否有diff,patch命令 diff一般系统自带 patch下载 (yum install patch -y) 现在开始演示 我的系统里有1和2两个文件 使用 diff 1 2 > ...

  4. 反射操作dll类库之普通类和各种方法调用

    一.使用方法 查找DLL文件, 通过Reflection反射类库里的各种方法来操作dll文件 二.步骤 加载DLL文件 Assembly assembly1 = Assembly.Load(" ...

  5. mysql备份灵活恢复

    mysql备份灵活恢复 服务上线遇到一个问题,开始操作前做了全库备份,但是没有做要操作的库备份,如果操作过程出现失败情况需要回退时,直接用全备文件做全库恢复很不妥当. 通过mysql的全备份文件,可以 ...

  6. maven在idea中的一点使用技巧

    maven在idea中的一点使用技巧 idea已经支持将参数的意思也展示出来,确实很方便. -U是强制拉取,因为如果拉取某个jar包,失败了,那么在一段时间内,idea不会重试,除非指定-U. -X呢 ...

  7. Hadoop全分布式

    1.安装jdk      Linux下安装jdk-7u67-linux-x64.rpm 2.免密登录   ssl免密登录(centos6) 3.同步时间:date -s "2020-04-0 ...

  8. We're sorry but demo3 doesn't work properly without JavaScript enabled. Please enable it to continue.

    今天遇到一个问题为 vue请求得到的响应为 We're sorry but demo3 doesn't work properly without JavaScript enabled. Please ...

  9. volatile 能使得一个非原子操作变成原子操作吗?

    一个典型的例子是在类中有一个 long 类型的成员变量.如果你知道该成员变量 会被多个线程访问,如计数器.价格等,你最好是将其设置为 volatile.为什么? 因为 Java 中读取 long 类型 ...

  10. 学习openstack(四)

    一.KVM虚拟化 1.KVM的安装: yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install /etc/init.d ...