字符串(str)
字符串的下标(索引)
str_data = "python"
p y t h o n
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
索引就是某数据在序列的位置
- 正索引:从左至右,从0开始
- 负索引:从右至左,从-1开始
- 其中:str_data[0] = str_data [-6] = 'p',str_data[1] =str_data[-5],......
字符串的切片
切片即给定一个字符串,从头部或尾部截取指定数量的字符串。
语法:str[start_index: stop_index: step]
- 起始位置 : start_index (空时默认为 0)
- 终点位置: stop_index (空时默认为列表长度) 需要注意起点与终点索引的位置关系。
- 步长: step (空时默认为 1,不能为 0)
str_data[0:2] = str_data = [-6:-4] "py",......
若要取"po" = str_data[0:5:4]
字符串倒置:
- str_data[::-1] = "nohtyp"
ps:1)字符串切片范围需要满足左闭右开;2)起始值到终止值与步长的方向必须一致
字符串常用操作方法
重要字符串方法
方法 | 描述 |
---|---|
join() | 将序列中的元素以指定的字符连接生成一个新的字符串 |
replace() | 返回字符串,其中指定的值被替换为指定的值 |
split() | 在指定的分隔符处拆分字符串并返回列表 |
splitlines() | 在换行符处拆分字符串并返回列表 |
strip() | 返回字符串的裁剪版本,默认是去除字符串两边的空白符 \r \t \n |
# 字符串是不可变数据类型,这些方法不会改变原有的数据
# join()
str_data = "python"
print('-'.join(str_data)) # p-y-t-h-o-n
print(str_data) # python
# replace()(不会修改字符串)
# 语法:字符串.replace(字符串1,字符串2)
# 功能:将字符串内的全部:字符串1,替换为字符串2
# 注意:不是修改字符串本身,而是得到了一个新字符串
str_data = "python"
new_str = str_data.replace('n', 'a')
print(new_str) # pythoa
print(str_data) # python
# split()(不会修改字符串)
# 语法:字符串.split(分隔字符串)
# 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象
# 注意:字符串本身不变,而是得到了一个列表对象
str_data = "hello world"
new_str = str_data.split() # 默认对空格进行分割
print(new_str) # ['hello', 'world']
print(str_data) # hello world
# splitlines()(不会修改字符串)
str_data = "hello\nworld"
new_str = str_data.splitlines()
print(new_str) # ['hello', 'world']
# strip()字符串的规整操作
# 字符串的规整操作(不传入参数,去除前后空格)
# 语法:字符串.strip()
my_str = " python "
print(my_str.strip()) # 结果: "python"
# 字符串的规整操作(去除前后指定字符串)
# 语法:字符串.strip(字符串)
my_str = "12python21"
print(my_str.strip("12")) # 结果:"python"
# 注意:传入的是“12”其实就是:”1”和”2”都会移除,是按照单个字符。
常用字符串方法
方法 | 描述 |
---|---|
upper() | 把字符串转换为大写 |
zfill() | 在字符串的开头填充指定数量的 0 值 |
lower() | 把字符串转换为小写 |
count() | 返回指定值在字符串中出现的次数 |
find() | 在字符串中搜索指定的值并返回它被找到的位置 |
format() | 格式化字符串中的指定值 |
index() | 在字符串中搜索指定的值并返回它被找到的位置 |
isdigit() | 如果字符串中的所有字符都是数字,则返回 True |
其他字符串方法
方法 | 描述 |
---|---|
capitalize() | 把首字符转换为大写 |
casefold() | 把字符串转换为小写 |
center() | 返回居中的字符串 |
encode() | 返回字符串的编码版本 |
endswith() | 如果字符串以指定值结尾,则返回 true |
expandtabs() | 设置字符串的 tab 尺寸 |
isalnum() | 如果字符串中的所有字符都是字母数字,则返回 True |
isalpha() | 如果字符串中的所有字符都在字母表中,则返回 True |
isdecimal() | 如果字符串中的所有字符都是小数,则返回 True |
isidentifier() | 如果字符串是标识符,则返回 True |
islower() | 如果字符串中的所有字符都是小写,则返回 True |
isnumeric() | 如果字符串中的所有字符都是数,则返回 True |
swapcase() | 切换大小写,小写成为大写,反之亦然 |
title() | 把每个单词的首字符转换为大写 |
translate() | 返回被转换的字符串 |
isprintable() | 如果字符串中的所有字符都是可打印的,则返回 True |
isspace() | 如果字符串中的所有字符都是空白字符,则返回 True |
istitle() | 如果字符串遵循标题规则,则返回 True |
isupper() | 如果字符串中的所有字符都是大写,则返回 True |
ljust() | 返回字符串的左对齐版本 |
lstrip() | 返回字符串的左修剪版本 |
maketrans() | 返回在转换中使用的转换表 |
partition() | 返回元组,其中的字符串被分为三部分。 |
rfind() | 在字符串中搜索指定的值,并返回它被找到的最后位 |
rindex() | 在字符串中搜索指定的值,并返回它被找到的最后位置 |
rjust() | 返回字符串的右对齐版本 |
rpartition() | 返回元组,其中字符串分为三部分 |
rsplit() | 在指定的分隔符处拆分字符串,并返回列表 |
rstrip() | 返回字符串的右边修剪版本 |
startswith() | 如果以指定值开头的字符串,则返回 true |