Python基础语法4

目录

序列类型方法与类型转换

1、序列类型方法

2、元组方法

3、字符串方法

4、数据类型转换


序列类型方法与类型转换

1、序列类型方法

概念:存储多个数据对数据进行更方便的操作,增删改查操作是数据最底层的数据

列表方法:

1). 增

append: 添加一个数据(添加到列表的最后一位)

语法格式:列表名.append(数据)

name=['zhangsan','lisi']
name.append('wangwu')
print(name)
结果:['zhangsan', 'lisi', 'wangwu']

insert:添加一个数据,用下标指定位置(如果原来的位置有数据,则原本的数据向后移动一个位置)

语法格式:列表名.insert(下标,数据)

name=['zhangsan','lisi']
name.insert(2,'wangwu')
print(name)
结果:['zhangsan', 'lisi', 'wangwu']

extend:追加一个序列类型数据到最后一位,会把数据拆分

语法格式:列表名.extend(数据)

name=['zhangsan','lisi','wangwu']
name.extend('sangjie')
print(name)
结果:['zhangsan', 'lisi', 'wangwu', 's', 'a', 'n', 'g', 'j', 'i', 'e']

append和extend的区别:

append 将我们新增的元素视为一个整体进行添加

extend 添加元素初步拆分之后进行添加

2). 删除

pop:指定下标,删除一个值,没有指定下标时,删除末尾值

语法格式:列表名.pop(下标)

name=['zhangsan','lisi','wangwu']
name.pop(1)
print(name)
结果:['zhangsan', 'wangwu']

remove:删除一个指定的数据

语法格式:列表名.remove(数据)

name=['zhangsan','lisi','wangwu']
name.remove('zhangsan')
print(name)
结果:['lisi', 'wangwu']

clear:清除(所有数据)

语法格式:列表名.clear()

name=['zhangsan','lisi','wangwu']
name.clear()
print(name)
结果:[]

del(delete):列表名[起点:终点:步长]

列表名[下标]

name=['zhangsan','lisi','wangwu']
del name[2]#删除'wangwu'根据索引删除
print(name)
结果:['zhangsan', 'lisi']
=============================================
name=['zhangsan','lisi','wangwu','zhaoliu']
del name[1:3]#删除'lisi','wangwu'通过切片删除
print(name)
结果:['zhangsan', 'zhaoliu']
=============================================
name=['zhangsan','lisi','wangwu','zhaoliu','sangjie','tingan']
del name[::2]#删除'zhangsan','wangwu','sangjie'通过步长删除
print(name)
结果:['lisi', 'zhaoliu', 'tingan']
 

3). 改

单个修改:通过下标修改

语法格式:列表名[下标]=新的值

name=['zhangsan','lisi','wangwu','zhaoliu']
name[0]='sangjie'
print(name)
结果:['sangjie', 'lisi', 'wangwu', 'zhaoliu']

多个修改:通过切片的方式进行修改

语法格式:列表名[起点:终点]=数据1,数据2,数据3

修改的数据如果是数值型,下标指定了几个数据,就要修改几个数据,只能多不能少

num=[1,2,3,4,5,6,7,8]
num[0:2]=10,20 #通过切片去修改数据,[0:2]对应的要修改的下标为0和1,所以是修改两个数据,要给两个新的值
num[0:2]=10 #通过切片去修改数据,[0:2]对应的要修改的下标为0和1,所以是修改两个数据,这里只给了一个数据,会报错
num[0:2]='1'#通过切片去修改数据,[0:2]对应的要修改的下标为0和1,所以是修改两个数据,但是这里新的值为'1',为字符串类型,所以不会报错
第一条结果:[10,20,3,4,5,6,7,8]
第二条结果:
    =============== RESTART: C:/Users/Administrator/Desktop/lianxi.py ==============
Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/lianxi.py", line 2, in <module>
    num[0:2]=10
TypeError: can only assign an iterable
>>> 
第三条结果:['1', 3, 4, 5, 6, 7, 8]
=====================================================================
当要修改的数据是字符串时
sttr=['zhangsan','lisi','wangwu','zhaoliu']
sttr[0:2]='甲'
print(sttr)
结果:['甲', 'wangwu', 'zhaoliu']
=====================
sttr=['zhangsan','lisi','wangwu','zhaoliu']
sttr[0:2]='甲乙'
print(sttr)
结果:['甲','乙', 'wangwu', 'zhaoliu']
=====================
sttr=['zhangsan','lisi','wangwu','zhaoliu']
sttr[0:2]='甲乙丙'
print(sttr)
结果:['甲','乙','丙', 'wangwu', 'zhaoliu']
=====================
sttr=['zhangsan','lisi','wangwu','zhaoliu']
sttr[0:2]='jia'
print(sttr)
结果:['j', 'i', 'a', 'wangwu', 'zhaoliu']
=====================
总结:当新的值为字符串的时候,不论切片的空间是多少,都可以修改。在修改数据时,新的值会被拆分成单个的字符放在相应的下标位置

4). 查

index:根据内容,获取指定数据的下标,当列表中有重复数据时,会回显第一个值的下标

语法格式:列表名.index(数据)

name=['A','B','C','D','E','F','G']
print(name.index('A'))
结果:0

count:统计数据出现的次数

语法格式:列表名.count(数据)

name=['A','A','A','A','A','A','A']
print(name.count('A'))
结果:7

5). 其它

sort:对列表内容进行排序,默认升序

语法格式:列表名.sort()

num=[1,34,53,2,35,66,88]
num.sort()
print(num)
结果:[1, 2, 34, 35, 53, 66, 88]

降序:列表名.sort(reverse=True)

num=[1,34,53,2,35,66,88]
num.sort(reverse=True)
print(num)
结果:[88, 66, 53, 35, 34, 2, 1]

2、元组方法

1). 查(同列表查询方法)

index:根据内容,获取指定数据的下标,当列表中有重复数据时,会回显第一个值的下标

语法格式:列表名.index(数据)

name=('zhangsan','lisi','wangwu')
print(name.index(zhangsan))
结果:0

count:统计数据出现的次数

语法格式:列表名.count(数据)

name=('A','A','A','B','B','C')
print(name.count('A'))
结果:3

3、字符串方法

字符串和元组一样,不可修改,除非重新赋值。

2). 增

字符串没有专门的增加方法,直接用加号拼接即可

str1='Hello'+'World'
print(str1)
结果:HelloWorld

3). 删

replace:可以删除

语法格式:字符串.replace('原始值','新值')

字符串.replace('原始值','')

字符串.replace('原始值','新值',更改的次数)

str='ABCDEFG'
print(str.replace('A','Z')) #结果:ZBCDEFG
print(str.replace('A','')) #结果:BCDEFG
str1='AAAAA'
print(str.replace('A','B',5)) #结果:BBBBB

4). 改

upper:字母全大写

语法格式:字符串.upper()

str='hello world'
print(str.upper())
结果:HELLO WORLD

lower:字母全小写

语法格式:字符串.lower()

str='HELLO WORLD'
print(str.lower())
结果:hello world

title:单词首字母大写(以空格区分)

语法格式:字符串.title()

str='hello world'
print(str.title())
结果:Hello World

strip:去除字符串两边的空格

语法格式:字符串.strip()

str=' hello world '
print(str.strip())
结果:hello world

split:划分,根据指定内容进行切割,得到一个列表

语法格式:字符串.split()

str='hello world'
print(str.split('w'))
结果:['hello ', 'orld']
#有字符串 s='albblcc' 将构造成一个列表 lst=[‘a’,’lbblcc’]
s='albblcc'
lst=[s.split('l',1)[0],s.split('a')[1]]
s.split('l',1) 结果是['a','bblcc'] 取s[0]
s.split('a')结果是['','lbblcc'] 取s[1]
所以lst=[s[0],s[1]]=['a','lbblcc']

4). 查

find:通过内容获取数据的下标

语法格式:字符串.find(内容)

str='ABCDEFG'
print(str.find('A'))
结果:0

count:统计字符出现的次数

语法格式:字符串.count(内容)

str='AAAAAA'
print(str.count('A'))
结果:6

isdigit:判断字符串是否为纯数字

语法格式:字符串.isdigit()

str='123456
print(str.isdigit())
结果:True
str='123a456'
print(str.isdigit())
结果:False

isalpha:判断字符串是否为纯字母

语法格式:字符串.isalpha()

str='abcdefg'
print(str.isalpha())
结果:True
str='abcd1efg'
print(str.isalpha())
结果:False

endswith:判断字符串最后一个字符是否与数据相等

语法格式:字符串.endswitch(内容)

str='ABCDEFG'
print(str.endswith('G'))
结果:True

len函数:获取序列类型的长度

语法格式:len(变量)

str='ABCDEFG'
print(len(str))
结果:7

4、数据类型转换

分为两种形式

1). 自动转换

print(3+True)
结果:4
print(False+True)
结果:1
True由bool类型转换为数值型

2). 强制转换

# 要在合理的场景下进行转换
# input输入的结果默认是str类型
age=input('年龄:')
年龄:18
print(type(age)) #结果:<class 'str'>
​
int()---把数据转换为整型
int('234') #由str转为int
int('zhangsan') #会报错
结果会报错
int(8.8) # 结果是8
浮点型转整型,是去除小数点后的数,不是四舍五入
float()---把数据转换为浮点型
num=2
float(num)
结果:2.0
bool()---把数据转换为布尔型
str()---把数据转换为字符串型
list()---把数据转换为列表类型
tuple()---把数据转换为元组类型
set()---把数据转换为集合类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zker_WH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值