【Python】数据类型高级

71 阅读4分钟

数据类型高级

字符串高级

字符串的常见操作包括:

获取长度:len len函数可以获取字符串的长度。

查找内容:fifind 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次

出现的开始位置索引值,如果不存在,则返回-1.

判断:startswith,endswith 判断字符串是不是以谁谁谁开头/结尾

计算出现次数:count 返回 str在start和end之间 在 mystr里面出现的次数

替换内容:replace 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。

切割字符串:split 通过参数的内容切割字符串

修改大小写:upper,lower 将字符串中的大小写互换

空格处理:strip 去空格

字符串拼接:join 字符串拼接

列表高级

列表的增删改查

添加元素

添加元素有一下几个方法:

append 在末尾添加元素

insert 在指定位置插入元素

extend 合并两个列表

append

append会把新元素添加到列表末尾

#定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("‐‐‐‐‐添加之前,列表A的数据‐‐‐‐‐A=%s" % A)
#提示、并添加元素
temp = input('请输入要添加的学生姓名:')
A.append(temp)
print("‐‐‐‐‐添加之后,列表A的数据‐‐‐‐‐A=%s" % A)

insert

insert(index, object) 在指定位置index前插入元素object

strs = ['a','b','m','s']
strs.insert(3,'h')
print(strs) # ['a', 'b', 'm', 'h', 's']

extend

通过extend可以将另一个列表中的元素逐一添加到列表中

a = ['a','b','c']
b = ['d','e','f']
a.extend(b)
print(a) # ['a', 'b', 'c', 'd', 'e', 'f']b 添加到 a 里
print(b) # ['d','e','f'] b的内容不变

修改元素

我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。

#定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("‐‐‐‐‐修改之前,列表A的数据‐‐‐‐‐A=%s" % A)
#修改元素
A[1] = 'xiaoLu'
print("‐‐‐‐‐修改之后,列表A的数据‐‐‐‐‐A=%s" % A)

查找元素

所谓的查找,就是看看指定的元素是否存在,主要包含一下几个方法:

in 和 not in

in, not in

python中查找的常用方法为:

in(存在),如果存在那么结果为true,否则为false

not in(不存在),如果不存在那么结果为true,否则false

#待查找的列表
nameList = ['xiaoWang','xiaoZhang','xiaoHua']
#获取用户要查找的名字
findName = input('请输入要查找的姓名:')
#查找是否存在
if findName in nameList:
print('在列表中找到了相同的名字')
else:
print('没有找到')

说明:

in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在

删除元素

类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除

这种功能。

列表元素的常用删除方法有:

del:根据下标进行删除

pop:删除最后一个元素

remove:根据元素的值进行删除

del

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName)
del movieName[2]
print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)

pop

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName)
movieName.pop()
print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)

remove

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName)
movieName.remove('指环王')
print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)

元组高级

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号

>>> aTuple = ('et',77,99.9)
>>> aTuple
('et',77,99.9)

python中不允许修改元组的数据,包括不能删除其中的元素。

定义只有一个数据的元组

定义只有一个元素的元组,需要在唯一的元素后写一个逗号

>>> a = (11)
>>> a
11
>>> type(a)
int
>>> a = (11,) # 只有一个元素的元组,必须要在元素后写一个逗号
>>> a
(11,)
>>> type(a)
tuple

切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长],也可以简化使用 [起始:结束]

注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。

# 索引是通过下标取某一个元素
# 切片是通过下标去某一段元素
s = 'Hello World!'
print(s)
print(s[4]) # o 字符串里的第4个元素
print(s[3:7]) # lo W 包含下标 3,不含下标 7
print(s[1:]) # ello World! 从下标为1开始,取出 后面所有的元素(没有结束位)
print(s[:4]) # Hell 从起始位置开始,取到 下标为4的前一个元素(不包括结束位本身)
print(s[1:5:2]) # el 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)