python序列类型

先说几句废话啊,这只是我学习python的笔记记录以及我的理解,仅供参考,哪里讲错了请大佬指点,大佬勿喷!!!

仅供参考!!!

七 、序列类型

python的数据类型可以分为三类:数值类型,序列类型,散列类型

数值类型:int,float,bool

7.1 字符串 str

字符串是一个有序的字符集合,用于存储和表示基本的文本信息

字符串,不可变类型:创建好之后内部无法修改[内置功能都是新创建一份数据]

不可变类型:数据改变内存地址跟着改变

操作数据类型的作用无非就是增伤改查

7.1.1 find()、index()和count()

范围性查找子串,返回索引值,没有则返回-1

语法:

str.find(str,beg=0,end=len(string))
  • str——》指定检索的字符串
  • beg——》从哪里开始查找,默认索引值为0
  • end——》结束的索引,默认为字符串的长度

如果指定beg和end范围,则检查是否包含在指定范围内

常用语检测字符串中是否包含子字符串str

s = 'hello,world'
print(s.find("h"))  # h的索引值就是0
print(s.find("world"))  #找到world则返回首个字符的索引
print(s.find("worldd"))  # 找不到返回-1

s = "python,helloworld,java,php"
print(s.find("h"))  # 返回的是首个h的下标
print(s.find("h",4))  # 从下标为4的开始找

index方法和find方法差不多,只不过找不到子字符串会报错

s = "python,helloworld,java,php"
print(s.index("world"))  # 12
print(s.index("worldd"))  # 报错

count()方法返回找到的子字符串个数,找不到就返回0,语法同样是要查找的字符串点上方法名

s = "python,helloworld,java,php"
print(s.count("h"))  # 3

7.1.2 strip()

去掉字符串两边的空格、换行符、制表符,得到的是一个新的字符串

a = '   hello world'    # 可以看到字符串前面有一个制表符(四个空格)
c = a.strip()   # a调用strip方法得到一个新的字符串c
print(c)

#hello world

7.1.3 startswith()、endswith()

  • startswith方法判断字符串是否以xx开头,得到一个布尔值
name = '张三'
print(name.startswith('张'))
print(name.startswith('李'))

# True
# False
  • endswith方法判断字符串是否以xx结尾,得到一个布尔值
name = '张三'
print(name.endswith('三'))
print(name.endswith('四'))

# True
# False

7.1.4 isdigit()

判断字符串是否由纯数字组成,返回的结果为布尔值

str1 = '10086'
str2 = '10086a'
print(str1.isdigit())
print(str2.isdigit())

# True
# False

7.1.5 lower()、upper()

字符串变大写/小写,得到一个新字符串

lower()——》转小写

upper()——》转大写

firend_name='TOMI'
print(firend_name.lower())
#tomi
firend_name='TOMI'
print(firend_name.lower())
#tomi

7.1.6 split()

切分字符串,将字符串类型转成列表,默认以空格切分,也可以指定字符切分

s = "my name is xiaochuan"
print(s.split())
s1 = "python,helloworld,java,php"
print(s1.split(","))

# ['my', 'name', 'is', 'xiaochuan']
# ['python', 'helloworld', 'java', 'php']

7.1.7 replace()

字符串内容的替换,得到一个新的字符串

# 替换敏感词
content = input("请输入评论信息:")
content1 = content.replace("草","*")
# replace('需要替换的字','替换成什么')
print(content1)

7.1.8 join()

用于将序列中的元素以指定的字符串连接生成一个新的字符串

常用于将列表转为字符串

li = ['hello','world']
print(' '.join(li))		# '要用什么字符连接'.join(列表)
print('-'.join(li))

7.1.9 len()

len方法是求取长度,空格,换行也算一个字符

print(len('hello world'))
# 11

7.1.10 切片(顾头不顾尾,步长)

顾头不顾尾:取出索引为0到8的所有字符

s = "hello python"
print(s[0:9])
# hello pyt

步长:0:9:2 第三个参数2代表步长,会从下标0开始,每次累加一个2就可以,所以就会取出索引值为0/2/4/6/8的字符

s = "hello python"
print(s[0:9:2])

# hlopt

反向切片

s = "hello python"
print(s[::-1])  # 从右到左依次取值 反向取值 步长为负数就是从右到左,首尾不给值就是取所有

# nohtyp olleh

7.2 列表 list

可以存放多个不同类型的元素,记录多个同种属性的值

列表:存储同一个类别的数据,方便操作

列表,可变:创建好之后内部元素可以修改[独有功能基本上都是直接操作列表内部,不会创建一份新的数据]

可变类型:数据发生改变内存地址不会改变

列表的创建:

列表名 = []
例:
li = [2,3,4,5,6,8,9,10]

7.2.1 增加列表数据

  1. append:添加一个数据,添加到列表的最后一位

语法:

列表名.append(要添加的数据)

例:

li = [1,2,3,4,5]
li.append(6)
print(li)

# [1,2,3,4,5,6]
  1. insert:添加一个数据到指定的位置

语法:

列表名.insert(下标位置,数据)

例:

li = [1,2,3,4,5]
li.insert(0,'张三')
print(li)

# ['张三',1,2,3,4,5]
  1. extend:添加一个序列类型到最后一位,并且把序列类型拆分

语法:

列表名.extend(序列类型)
例:
li = [1,2,3,4,5]
li.extend('张三')
li.extend(['张三'])	# 如果用中括号包裹就不会拆分
print(li)

# [1,2,3,4,5,'张','三','张三']

7.2.2 删除列表数据

  1. pop:删除一个值,默认从最后一个开始删,也可以指定位置
语法:
列表名.pop()默认删除
列表名.pop(下标)指定删除

例:
li = [1,2,3,4,5]
li.pop(-1)
print(li)

# [1,2,3,4]
  1. remove:删除一个指定的值,如果有多个,从第一个开始删
语法:
列表名.remove(删除对象)

例:
li = [1,2,3,4,5]
li.remove(3)
print(li)

# [1,2,4,5]
  1. clear:清空列表里面的所有数据变成一个空列表
语法:
列表名.clear();
li = [1,2,3,4,5]
li.clear()
print(li)

# []
  1. del:全局删除,可以删除一个变量
语法:
del 列表名[下标]

例:
li = [1,2,3,4,5]
del li[2]
print(li)
del li	# 如果不给下标就删除整个列表
print(li)	# 此时在打印就会报错,提示li未定义

# [1,2,4,5]

7.2.3 修改列表数据

  1. 单个修改:直接通过下标进行修改
语法:
列表名[下标] = 内容

例:
li = [1,2,3,4,5]
li[2] = '张三'
print(li)

# [1,2,'张三',4,5]
  1. 多个修改:通过切片的方式进行修改
语法:
列表名[起点:终点] = 数据1,数据2,数据3...,数据n

例:
li = [1,2,3,4,5]
li[0:2] = 10,20
print(li)

# [10,20,3,4,5]

7.2.4 查找列表数据

  1. index:获取指定数据的下标
语法:
列表名.index(要查找的数据)
列表名.index(要找的内容,起始值)

例:
li = ['张三','李四','赵五','刘六']
print(li.index('李四'))	# 1
print(li.index('李四',2))	# 李四下标为1,从下标为2开始找,找不到报错
  1. count:统计数据出现的次数
语法:
列表名.count(要找的内容)

例:
li = ['张三','李四','赵五','张三']
print(li.count('张三'))

# 2

7.2.5 排序

列表排序需要全是int类型的数据才可以排序

升序:

语法:
列表名.sort()

例:
li = [2,1,5,4,6,3]
li.sort()
print(li)

# [1, 2, 3, 4, 5, 6]

降序:

语法;
列表名.sort(reverse=True)

例:
li = [2,1,5,4,6,3]
li.sort(reverse=True)
print(li)

# [6, 5, 4, 3, 2, 1]

8.2 元组 tuple

元组通常使用一对小括号将所有元素包围起来,但是小括号不是必须的

8.2.1 查找

  1. index:获取指定数据的下标
语法:
元组名.index(要查找的数据)
元组名.index(要找的内容,起始值)

例:
tpe = ('张三','李四','赵五','刘六')
print(tpe.index('李四'))	# 1
print(tpe.index('李四',2))	# 李四下标为1,从下标为2开始找,找不到报错
  1. count:统计数据出现的次数
语法:
元组名.count(要找的内容)

例:
tpe = ('张三','李四','赵五','张三')
print(tpe.count('张三'))

# 2

8.2.1 功能

  1. 相加,两个元组相加生成一个新的元组
tpe = ("张三","李四")+("赵五","刘六")
print(tpe)

# ('张三', '李四', '赵五','刘六')
  1. 相乘
tpe = ("张三","李四")*2
print(tpe)

# ('张三', '李四', '张三', '李四')

元组还可以进行获取长度,索引,切片等等…

元组的本身是不可变类型,如果元组中包含其他可变元素,这些可变元素可以发生改变

tpe = (1,2,3,4,[3,4],5)
print(id(tpe))  # 查看未改变元组内的可变类型之前的id
tpe[4][0] = 6   # 改变列表里的元素
print(tpe)
print(id(tpe))  # 查看改变元组内的可变类型之后的id是否与未改变之前的id一样

# 2360362524744
# (1, 2, 3, 4, [6, 4], 5)
# 2360362524744
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值