day_5字符串和列表的各种操作方法

字符串类型:

字符串的定义是可以有多种引号嵌套

定义字符串是以开头的引号然后匹配和第一个引号相同的引号,所以当字符串中间出现和第一个引号相同的引号就会出错,这个时候就可以选择别的引号进行创建字符串,或者在中间的引号前加一个反斜杠,这样就表示这个引号没有特殊意义,就是普通字符串,这个反斜杠 成为转义符

# 需求:你是"好学生"
s1 = "你是\"好学生\""
print(s1)
# 可以通过引号的嵌套,使内部不同的引号在不转义的情况下直接输出
s2 = '你是"好学生"'
print(s2)

# 需求:你是"好学生",是'我的'
s3 = """你是"好学生",是'我的'"""
print(s3)

字符串的常规操作

字符串的索引取值是字符串加一个中括号里面放索引值

正向取值从0开始编号 反向取值从-1开始编号

s1 = '123abc呵呵'
print(id(s1)) # 2217572683576
print(s1[0], id(s1[0])) # 2217543167200
t_s = '1'
print(id(t_s)) # 2217543167200
# 取出c
print(s1[5], s1[-3])

字符串的拼接直接字符串+字符串然后用一个变量接收,就可以了。

如果要拼接其他类型的方法,可以用str先将其他类型的转为字符串类型然后拼接,或者用格式化输出的方法进行拼接

s2 = '你好'
s22 = '帅'
ss2 = s2 + s22
print(ss2, id(s2), id(s22), id(ss2))
# 如果要拼接其他类型
a = 10
b = "20"
c = True
# res = "1020True"
res = "%s%s%s" % (a, b, c) # 方法1
print(res)
res = str(a) + b + str(c) # 方法2
print(res)

字符串的长度用字符串点len()然后用一个变量接收一下  就是这个字符串的长度

s3 = '12345'
ln1 = s3.__len__()
print(ln1)
ln2 = len(s3)
print(ln2)

字符串的切片 取子字符串用字符串后面加[::]可以只放两个冒号 就代表从头取到尾,然后里面可以放起始值结束值 以及步长  步长默认为1

s4 = '123abc呵呵'
sub_s = s4[0:6:]
print(sub_s) # 123abc
sub_s = s4[0:6:2]
print(sub_s) # 13b
sub_s = s4[::-1]
print(sub_s) # 呵呵cba321
sub_s = s4[-1:-6:-1]
print(sub_s) # 呵呵cba

成员运算,判断某字符串是否在该字符串中

一个字符串1 然后 空格in 字符串2  如果字符串2中包含字符串1 那么返回 True 否则返回False

s5 = '123abc呵呵'
ss5 = '12a'
print(ss5 in s5) # False
print(ss5 not in s5) # True

字符串的循环遍历,for i in 某个字符串

然后字符串中字符每个都会被遍历一遍

s6 = '123abc呵呵'
for v in s5:
print(v)、

下面是几个重要的方法

1通过目标去获取他的索引坐标。用 index  字符串点index括号里面放某个字符串 就会返回他的索引坐标

s1 = '123abc呵呵'
print(s1.index('b'))

strip去字符串两端的留白,也可以取指定字符 字符串点strip()括号里面如果不填默认就是去字符串两端的空白,如果放入某个字符,就可以去掉字符串两端的这个字符

s2 = '***好 * 的 ***'
print(s2.strip('*'))

count 用来计算子字符串的个数 字符串点count(括号里面放子字符串)就会返回这个子字符串在大字符串中出现了几次

s3='123131313'

print(s3.count(13))

判断某个字符串是否全是数字   用isdigit   字符串点isdigit()如果是正整数就会返回True  否则False

s4 = '123'
print(s4.isdigit())

大小写转换全部转成全大写的用点upper()  全部转成小写的用lower

  capitalize 是把整个字符串首字母转成大写

title是把每个单词的首字符转成大写

s5 = "AbC def"
print(s5.upper()) # 全大写
print(s5.lower()) # 全小写
# 了了解
print(s5.capitalize()) # 首字母大写
print(s5.title()) # 每个单词首字母大写

判断以什么开头 是用startswith括号里面放需要判断的字符串 如果是以这个字符串开头那么返回True 反之则False

判断以结什么结尾的 是用endswith()括号里面放需要判断的字符串

替换是用replace(前面放需要替换的字符串,然后紧接着是替换新的字符串,后面是替换的次数可以不写,默认全部替换)

格式化

字符串里面放大括号作为占位符,后面点format括号里有几个占位符就填几个值用逗号隔开

也可以在大括号里面标志位置,后面就会根据后面填的自动匹配位置

还可以直接指名道姓 大括号里面放个 变量  然后后面括号里 的格式是这个值=某个值 

1. find | rfind:查找子字符串索引,无结果返回-1
2. lstrip:去左留白
3. rstrip:去右留白
4. center | ljust | rjust | zfill:按位填充
语法:center(所占位数, '填充符号')
5. expandtabs:规定\t所占空格数
6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
7. isdigit | isdecimal | isnumeric:数字判断
8. isalnum | isalpha:是否由字母数字组成 | 由字母组成
9. isidentifier:是否是合法标识符
10. islower | isupper:是否全小 | 大写
11. isspace:是否是空白字符
12. istitle:是否为单词首字母大写格式
'''

列表类型

列表中可以存放多个值,可以存放所有的数据类型

列表中是有序的 可以通过索引去取值

索引的取值 用列表名加中括号里面放索引,索引是从0开始计数,输入负数就是倒着读取

列表运算 可以直接拿两个列表相加,或乘某个数字,得到的是新的list

查列表的长度用len(括号里面放需要查长度的列表名)

列表的切片列表名加中括号里面放起始索引结束索引 以及步长 用冒号隔开,也可以直接放两个冒号,遮掩就是把列表整个复制了一遍

成员运算用in  判断某个值在不在列表里 用in  返回True 或False

列表可以用for循环迭代

列表的增删改查

查用索引取值

增是有三种,.append是在末尾增

.insert()前面放索引后面放需要增加的值 会添加到这个索引的前面

改是用索引取值然后重新赋值

删 

可以点remove某个元素就删掉了某个元素

点pop 默认从末尾删,并返回删掉的值 可以用变量接收,也可以在括号里面放上索引。就删掉这个索引的元素并返回

del 后面跟上列表名,就直接把这个列表删掉了

clear()是清空列表

了解的方法

# 1)排序: 针对于同类型
ls = ['3', '1', '2']
ls.sort()  # 默认正向排序
print(ls)
ls.sort(reverse=True)  # 正向排序的结果上反转,形成倒序
print(ls)

# 2)反转
ls = ['3', '1', '2']
ls.reverse()  # 按存储的顺序进行反转
print(ls)

# 3)计算值的个数 => 列表中可以存放重复数据
ls = [1, 2, 1, 2, 3, 1]
print(ls.count(1))  # 对象1存在的次数

 

了了解

# 1)整体增加,添加到末尾
ls = [1, 2, 3]
ls.extend('123')
print(ls)
ls.extend([0, 1, 2])
print(ls)

# 2) 目标的索引位置,可以规定查找区间
ls = [1, 2, 1, 2, 3, 1]
# 找对象1,在索引3开始往后找到索引6之前
ind = ls.index(1, 3, 6)
print(ind)

 

猜你喜欢

转载自www.cnblogs.com/jixu/p/10726215.html