数字、字符串、列表类型及常用内置方法
目录
- 可变不可变类型
- 基本数据类型及内置方法
- 数字类型
- 整型
- 浮点型
- 数字类型总结
- 字符串类型
- 字符串类型的常用操作+内置方法
- 字符串类型总结
- 列表类型
- 列表类型的常用操作+内置方法
- 列表类型总结
- 数字类型
可变不可变类型
1、可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型
# 示例:
list=['a','b']
print(id(list))
l[0]='A'
print(list)
print(id(list))
RUN====》
5989000
['A', 'b']
59890002、不可变类型:值改变,但是id也跟着变,证明是产生了新的值,不改变原值,是不可变类型
# 示例:
x=9
print(id(x))
x=10
print(id(x))
RUN====》
8791317537872
8791317537904
基本数据类型及内置方法
数字类型
整型
# 基本使用:
1、用途:记录年龄、等级、数量2、定义方式:age = 10 # age=int(10)# 数据类型的转换:只能将纯数字的字符串转成intx = int('123123')print(x,type(x)) # 123123 <class 'int'>x = int('12.3')print(x,type(x)) # 报错;无法将浮点型内容的字符串转成int3、常用操作+内置方法即全部的数学运算和比较运算
浮点型
# 基本使用:
1、用途:记录身高、薪资、体重等2、定义方式:salary = 1.5 # salary = float(10.1)数据类型的转换:只能将包含小数的字符串转成float示例:x=float('3.1')print(x,type(x)) # 3.1 <class 'float'>3、常用操作+内置方法即全部的数学运算和比较运算
数字类型总结
1、数字类型只能存一个值2、数字类型中的值不可变x = 1print(id(x)) # 8791357186896x = 2print(id(x)) # 8791357186928x=3.1print(id(x)) # 5222520x=4.3print(id(x)) # 5222784# 可见值变化了,id也随之变化,证明无法改原值,故数字类型不可变
字符串类型
# 基本使用:
1. 用途:记录 描述性质 的状态2. 定义方式:msg = 'hello world' # msg = str('hello world')数据类型转换:所有类型都可以被str转成字符串类型示例:res=str([1,2,3])print(res,type(res)) # [1, 2, 3] <class 'str'> # list类型被转成str类型
字符串类型的常用操作+内置方法
# 优先掌握的操作:(*****)
3.1 按索引取值(正向取 + 反向取):只能取值,不能改值# 字符串中的字符其实也存在索引值msg = 'hello'print(msg[0],type(msg)) # h <class 'str'> # 打印字符串msg中的第一位字符 即为hprint(msg[-1]) # o # 打印字符串msg中的倒数第1位数 即为oprint(msg[-2]) # l # 打印字符串msg中的倒数第2位数 即为lmsg[0]='H' # 欲把'H'赋值给mag[0](即msg中的第一位数)报错; # 证明字符串中的值无法被更改3.2 切片(顾头不顾尾,步长)# 将字符串按照规定步长进行分割,分割出来的部分为一个单独的值msg='hello world'res=msg[0:3:1]'''[]中的0为分割起始索引值,即msg中的第一个值 h,如不填,则默认为第一个字符的索引3为分割终点索引值,即msg中的第4个值 l,如不填,则默认为最后一个字符的索引1为分割取值的步长,即不跨越字符,挨个取值 如不填,则默认为步长为1'''print(res) # helprint(msg) # hello worldmsg='hello world'res=msg[:]print(res) # hello worldres=msg[::2]# 意思就是 步长为2,取字符串中第一个索引到最后一个索引对应的字符print(res) # hlowrd# 反向切片取值:步长必须是负数msg='hello world'res=msg[-1:-12:-1]'''步长为负数,索引值也要配合步长进行反向圈定切片取值范围此行则代表切片范围为 倒数第1位索引值到第1位索引值(反方向时的索引不是以0开始计数的因为切片命令顾头不顾尾所以此时反向的第一位索引值需要扩大一位索引值以可以取到第一位字符)'''print(res) # dlrow ollehres=msg[-1::-1] # dlrow olleh # 此为反向切片,最终切片位置不填则默认为可以取到第1位字符print(res)res=msg[::-1] # dlrow olleh # 此为反向切片,起点切片位置不填则默认为可以从倒数第1位开始切片print(res)3.3 长度 len示例:msg = 'hello world'print(len(msg)) # 11 # 代表字符串中有11位字符 3.4 成员运算 in 和 not in :判断一个子字符串是否存在于大字符串中示例:msg = 'wjw is beautiful'print('wjw' in msg) # Trueprint('w' in msg) # Trueprint('wjw' not in msg) # False # wjw 不在 msg 中,结果为Falseprint(not 'wjw' in msg) # False # wjw 在 msg 中为True,取反后为False3.5 移除空白 strip:用来清除字符串两边的字符,不指定取出什么字符则默认去除 空格示例:msg=' he llo 'res=msg.strip() # 没有指定去除什么字符,则默认去除空格print(res,id(res)) # he llo 6583272 # 只能去除两边的字符,中间的并没有被去除print(msg,id(msg)) # he llo 40059288 # 原值不变print('******eg**on*****'.strip('*')) # eg**onprint('***+-\/***egon#@$*****'.strip('*+-\/#@$')) # egon应用示例:# 去除用户输入的内容的两边的空格name=input('username>>>: ').strip() # name=' egon 'pwd=input('password>>>: ').strip() # pwd = ' 123 'username>>>: egonpassword>>>: 123print(username,password) # egon 123 # 没有空格3.6 切分 split:针对有规律的字符串,按照某种分隔符切成列表info='egon:18:male'res=info.split(':') # 以':'为切刀口,切开str,形成新的str丢到list中print(res,type(res)) # ['egon', '18', 'male'] <class 'list'> # 输出的值为列表print(res[0],res[1]) # egon 18cmd='get|a.txt|33333'print(cmd.split('|',1)) # ['get', 'a.txt|33333']# 1为切割一次的一次,不指定切割次数或指定切割次数为-1,则切割所有指定字符延伸示例:# 用:号作连接符号将纯字符串的列表拼接成一个字符串list=['egon', '18', 'male']res=':'.join(list)# 以:为分隔,将list中的字符串 串到一起,然后复制给resprint(res,type(res)) # egon:18:male <class 'str'>3.7 循环for item in 'hello':print(item)hello
# 需要掌握的操作 (****)
1. strip,lstrip,rstripprint('******egon***********'.strip('*')) # 去除两边的指定字符print('******egon***********'.lstrip('*')) # 去除左边(left)的指定字符print('******egon***********'.rstrip('*')) # 去除右边(right)的指定字符egonegon*****************egonmsg=' hello 'msg.strip() # 不给参数时默认去除空格print(msg) # hello # 两边没有空格2. lower,upperprint('Abc123'.lower()) # abc123 # 使字符串中的所有字母变为小写print('Abc123'.upper()) # ABC123 # 使字符串中的所有字母变为大写3. startswith,endswithmsg='alex is dsb'print(msg.startswith('alex')) # True # 判断字符串是不是以指定字符开头来输出布尔值print(msg.endswith('dsb')) # True # 判断字符串是不是以指定字符结尾来输出布尔值4. format的三种玩法原理:res='my name is %s my age is %s' %('egon',18)print(res) # my name is egon my age is 18res='my name is {name} my age is {age}'.format(age=18,name='egon')print(res) # my name is egon my age is 18# 了解res='my name is {0}{1} my age is {2}{1}{2}'.format('egon',18,' tall ')print(res) # my name is egon18 my age is tall 18 tallres='my name is {} my age is {}'.format('egon',18)# 不指定索引时则默认第一个{}索引值为0,第二个{}索引值为1,一次排列print(res) # my name is egon my age is 185. split,rsplitmsg='a:b:c:d'print(msg.split(':',1)) # ['a', 'b:c:d']'''从前向后以指定字符将字符串分割成列表,不指定字符时则默认指定空格此条代码为 以:为号,分割从前向后分割一次'''print(msg.rsplit(':',1)) # ['a:b:c', 'd']'''从后向前以指定字符将字符串分割成列表,不指定字符时则默认指定空格此条代码为 以:为号,分割从后向前分割一次'''6. replacemsg='kevin is kevin is hahahah'res=msg.replace('kevin','sb',1)# 将'kevin'替换为'sb',替换次数为 1print(res) # sb is kevin is hahahahres=msg.replace('kevin','sb',2)# 将'kevin'替换为'sb',替换次数为 2print(res) # sb is sb is hahahah7. isdigitprint('123123'.isdigit()) # True # 如果字符串是由纯数字组成的,则返回Trueprint('123123 '.isdigit()) # Falseprint('123123asdf'.isdigit()) # Falseprint('12312.3'.isdigit()) # False应用示例:# 查成绩程序中,禁止用户输入纯数字以外的inputscore=input('请输入您的成绩: ').strip() #score='abc'if score.isdigit():score=int(score)if score >= 90:print('优秀')else:print('小垃圾')else:print('必须输入纯数字')请输入您的成绩: abc # 必须输入纯数字
# 了解的操作
1. find,rfind,index,rindex,countprint('123 ke123ke'.find('ke')) # 4print('123 ke123ke'.rfind('ke')) # 9print('123 ke123ke'.index('ke')) # 4print('123 ke123ke'.rindex('ke')) # 9print('123 ke123ke'.find('xxxx')) # -1print('123 ke123ke'.index('xxxx')) # 报错;print('123 ke123ke'.count('ke',0,6)) # 12. center,ljust,rjust,zfillprint('egon'.center(50,'*'))print('egon'.ljust(50,'*'))print('egon'.rjust(50,'*'))***********************egon***********************egon********************************************************************************************egonprint('egon'.rjust(50,'0'))print('egon'.zfill(50))0000000000000000000000000000000000000000000000egon0000000000000000000000000000000000000000000000egon3. captalize,swapcase,titleprint('abcdef dddddd'.capitalize()) # 将字符串的首字母变为大写,其余全为小写print('abcAef dddddd'.swapcase()) # 将字符串中所有字母大小写反转print('abcAef dddddd'.title()) # 将字符串中每个单词的首字母大写,其余全为小写Abcdef ddddddABCaEF DDDDDDAbcaef Dddddd4. is数字系列num1=b'4' #bytesnum2='4' #unicode,python3中无需加u就是unicodenum3='四' #中文数字num4='Ⅳ' #罗马数字# bytes与阿拉伯数字组成的字符串# print(num1.isdigit())# print(num2.isdigit())# print(num3.isdigit())# print(num4.isdigit())TrueTrueFalseFalse# 阿拉伯数字组成的字符串# print(num2.isdecimal())# print(num3.isdecimal())# print(num4.isdecimal())TrueFalseFalse# 阿拉伯数字\中文\罗马组成的字符串# print(num2.isnumeric())# print(num3.isnumeric())# print(num4.isnumeric())TrueTrueTrue
字符串类型总结
1、字符串类型只能存一个值
2、字符串类型是有序的
3、字符串类型的值不可变
列表类型
# 基本使用:
1、用途:按照位置记录多个值,索引对应值2、定义方式:在[]内用逗号分隔开多个任意类型的值l=['a',11,11.3] # l=list(['a',11,11.3])数据类型转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表res=list('hello')print(res) # ['h', 'e', 'l', 'l', 'o']res=list(123) # for循环无法循环int,所以无法定义int or float为listprint(res) # 报错;res=list({'a':1,'b':2,'c':3})# 将字典dict定义为list时,只会提取其中的keyprint(res) # ['a', 'b', 'c']
列表类型的常用操作+内置方法
# 优先掌握的操作:
1、按索引存取值(正向存取+反向存取):即可存也可以取l=['a','b','c','d','e']print(l[0]) # 取第1个值print(l[-1]) # 取倒数第1个值print(id(l))l[0]='A' # 将A赋值给list l 中的第一个值print(l)print(id(l))ae36725384['A', 'b', 'c', 'd', 'e']36725384l=['a','b','c','d','e']# 强调强调强调!!!:对于不存在的索引会报错l[5]='AAAA' # 报错;dic={"k1":111}dic['k2']=2222 # 将2222赋值给doc中的key_k2print(dic) # {'k1': 111, 'k2': 2222}# 赋值字典中没有的key会新建这个key2、切片(顾头不顾尾,步长)l=['a','b','c','d','e']print(l[1:4]) # 切片取第2位到第5位print(l[::-1]) # 反向切片取倒数第1位 到 第1位['b', 'c', 'd']['e', 'd', 'c', 'b', 'a']3、长度 lenl=['a','b','c','d','e']print(len(l)) # 54、成员运算in和not inlist=['a','b','c','d','e']print('a' in list) # True # 判断'a'在不在list中,返回bool值5、追加.append与insertl=['a','b','c','d','e']l.append('xxx') # 在 l 末尾插入'xxx'l.append('yyy') # 在 l 末尾插入'yyy'print(l) # ['a', 'b', 'c', 'd', 'e', 'xxx', 'yyy']l=['a','b','c','d','e']l.insert(1,'xxxx') # 在指定索引值的位置插入'xxxx'print(l) # ['a', 'xxxx', 'b', 'c', 'd', 'e']6、删除 del、remove、popl=['a','bbb','c','d','e']# del是一种通用的删除操作,没有返回值del l[0] # 删除 l 中的第1个值print(l) # ['bbb', 'c', 'd', 'e']dic={'k1':1}del dic['k1'] # 删除 dic 中的key_k1print(dic) # {}l=['a','bbb','c','d','e']l.remove(xxx) # (指定要删除的那个元素),没有返回值res=l.remove('bbb') # 给被删除的元素赋值给resprint(l) # ['a', 'c', 'd', 'e']print(res) # None # 查找通过res开看删除的元素是否有返回值l.pop(xxx) # (指定要删除的那个元素的索引),返回刚刚删掉的那个元素l=['a','bbb','c','d','e']l.pop(-1) # 删除 l 中倒数第 1 个值res=l.pop(1) # 删除 l 中第 2 个值,并将这个值赋值给resprint(l) # ['a', 'c', 'd']print(res) # bbb # 验证res是否被成功赋值,即删掉的元素有没有成功返回7、循环l=['a','b','c','d','e']for item in l:print(item)abcde应用示例:# 练习:# 队列:先进先出l=[]# 入队l.append('first')l.append('second')l.append('third')print(l) # ['first', 'second', 'third']l=[]# 入队l.append('first')l.append('second')l.append('third')# 出队print(l.pop(0)) # firstprint(l.pop(0)) # secondprint(l.pop(0)) # third#堆栈:后进先出
# 需要掌握的操作l=['aaa','bb',345]l.clear() # 删除列表中所有内容# 此时表l中为空l.append([1,2,3]) # 在列表末尾插入表格 [1,2,3]print(l) # [[1, 2, 3]] # 在此时的空列表l中插入了一个列表l=['aaa','bb',345]for i in [1,2,3]:l.append(i)print(l) # ['aaa', 'bb', 345, 1, 2, 3]'''上面代码中的for循环追加值的效果可以用下面.extend 来直接插入一个代码.extend 的原理就是将列表中的元素拆出列表然后追加到 l 中'''l=['aaa','bb',345]l.extend([1,2,3])print(l) # ['aaa', 'bb', 345, 1, 2, 3]# 排序 .reverse 、 sortl=['aaa','bb',345]l.reverse()# 将列表中的元素重新颠倒排序print(l) # [345, 'bb', 'aaa']只有在列表中所有元素都是同种类型的情况下才能用sort排序l=[1,3,2] # 列表中的元素皆为intl.sort(reverse=True)# 当reverse为True时从大到小排列,当reverse为False时从小到大排列print(l) # [3, 2, 1]l=['z','d','a'] # # 列表中的元素皆为strl.sort()print(l) # ['a', 'd', 'z']
列表类型总结
1、列表类型能存多个值
2、列表类型是有序的
3、列表类型的值不可变
转载于:https://www.cnblogs.com/shuchengyi/articles/10867068.html
数字、字符串、列表类型及常用内置方法相关推荐
- 18.Python字符串类型及常用内置方法
文章目录 1.字符串 2.字符串的定义 3.打印引号 4.类型转换 5.索引取值 6.遍历 7.长度统计 8.字符串复制与拼接 8.1字符串的复制 8.2加号拼接 8.3join拼接 8.4字符截取拼 ...
- 字符串的常用内置方法
字符串的常用内置方法 capitalize() 将字符串的第一个字符转换为大写. lower() 转换字符串中所有大写字符为小写. upper() 转换字符串中的小写字母为大写. swapcase() ...
- python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05...
迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种 ...
- Python基础总结之常用内置方法总结
文章目录 前言 1.str 1.1.内置方法: 1.2.常用的内置方法 1.3.String模块的一些方法 2.list 2.1.内置方法 2.2.常用内置方法 3.tupple 3.1.内置方法 3 ...
- python常用内置模块-Python之OS模块常用内置方法汇总
OS模块的常用内置方法 chdir修改当前工作目录到指定目录 Change the current working directory to the specified path. chmod修改一个 ...
- 迭代器、for循环本质、生成器、常用内置方法整理
迭代器 什么是迭代器 迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 为什么要用迭代器 迭代器给你提供了一种不依赖索引取值的方式 重复+每次迭代都是基于上一次的 ...
- python语言中内置的字符串排版方法_Python14之字符串(各种奇葩的内置方法)
一.字符串的分片操作 其分片操作和列表和元组一样 1 str1 = 'keshengtao' 2 str1[2:6]3 'shen' 4 str1[:]5 'keshengtao' 6 str1[:4 ...
- python 类的内置方法_Python 类的常用内置方法
类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发. 1.1__new__ __new__:在___init__触发前, ...
- python内置方法怎么使用_python中的常用内置方法
s='sdfsdfsd' # # lista=[1,2,3,4,5] # # l2=reversed(lista) sli=slice(1,4,2) print(s[sli]) # # print(l ...
最新文章
- Yii CDbCriteria 常用方法
- duilib : 模态窗口
- UVA - 796 Critical Links(tarjan求割边)
- 如何去掉jQWidgets中TreeGrid和Grid右下角的链接
- 为什么有些女孩在发现渣男的真面目以后,还喜欢他们?
- 你是菜鸡是有原因的 谈谈提问的艺术
- JavaScript 的函数式编程与面向对象编程区别在哪?
- 1047 糖果 01背包扩展
- 深信服(SCSA)认证学习—基础知识点二
- 台币转换计算机,Soulver 内建自动计算机功能的备忘录工具 货币换算、複杂数学式也支援...
- 设置定时器,持续调用接口
- 细数我曾经看过的动画片(不完全统计)
- 单样本t检验、独立样本t检验、配对样本t检验_python_数据分析_7
- 怎么恢复大疆无人机TF卡误删除格式化的MP4和MOV视频
- Arduino接入DFrobot EasyIOT实验(Arduino+APP Inventor+EasyIOT+百度AI API+Python数据可视化)
- 第36.5节 动画-跟踪运动中物体的操作器
- 02 数据定义语言DDL
- java实现Excel导出下载功能(返回pdf流)
- java.sql.SQLSyntaxErrorException: Table 'ph.tbl_user' doesn't exist
- doraemon的python jquery
热门文章
- HDU 5861 Road 线段树区间更新单点查询
- 成绩差的同学为何大多当老板?
- 内存有限的情况下 Spark 如何处理 T 级别的数据?
- Windows核心编程 第26章 窗口消 息
- poj1509最小表示法
- 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
- 【Windows 逆向】Cheat Engine 数据挖掘搜索方法和技巧 ( 数值类型选择 | 字符串数值类型选择 | 全部数值类型模糊选择 )
- 【Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )
- 【Android 安装包优化】动态库打包配置 ( “armeabi-v7a“, “arm64-v8a“, “x86“, “x86_64“ APK 打包 CPU 指令集配置 | NDK 完整配置参考 )
- 【计算机网络】网络安全 : 运输层安全协议 ( 安全套接字层 SSL | 运输层安全 TSL | SSL 服务 | SSL 安全会话建立流程 )