关注我,和我一起放下灵魂,让灵魂去搬砖。」



Python入门基础教程-列表与字符串高阶操作_python

作者:一叶

介绍:放不下灵魂的搬砖者

全文共1779字,阅读全文需7



Python版本3.8.0,开发工具:Pycharm

其实,本小节应该出现在Python进阶教程中,但对于想快速入门Python的读者中,本小节内容又必须得了解,所以,我在删减了部分进阶内容(主要是Numpy与Pandas的一些操作)后,补充了本小节内容

在Python六大数据类型中,字符与列表是最常用的两大类型,且在使用过程中,存在许多实用小技巧,方便更快速的进行数据处理,本小节主要是字符和列表的高阶操作。





01

Python字符串


字符串切片

在常规字符操作中,通过下标进行字符处理,在Python中,可以通过切片的方式进行字符处理

1# 定义字符串
2my_str = 'woshizhiqiuxiaomeng,wozhengzaixuexiPython'
3# 输出第一个字符,即下标为0
4print(my_str[0])
5# 输出最后一个字符,即下标为 len(my_str)-1
6print(my_str[len(my_str) - 1])
7# 同上,输出最后一个字符
8print(my_str[-1])
9
10# 输出从第1位开始,到第11位(下标10表示第11位)截止的字符串
11print(my_str[0:10])
12# 输出从倒数第六位到最后一位(包括最后一位)
13print(my_str[-6:])
14# 输出从第1位开始,到倒数第二位截止的字符串
15print(my_str[0:-1])
16# 输出全部字符串
17print(my_str[:])
18
19# 输出从第1位开始,到第11位截止的字符串,步长为2,即取第0,2,4,6,8位字符。
20print(my_str[0:10:2])
21# 倒序输出字符串。
22print(my_str[::-1])
23
24
25输出结果依次如下:
26w
27n
28n
29woshizhiqi
30Python
31woshizhiqiuxiaomeng,wozhengzaixuexiPytho
32woshizhiqiuxiaomeng,wozhengzaixuexiPython
33wsihq
34nohtyPixeuxiazgnehzow,gnemoaixuiqihzihsow

注:


  • 字符串切片注意左闭右开
    my_str[x:y]:即包括下标x,不包括下标y的字符,取的是x->y-1的数据
  • 注意各种省略语法,如[::-2]表示倒序输出,步长为2。默认步长是+1

字符串常用函数

1# 字符串拼接
2new_str = "str_1" + "str_2"
3# 输出:str_1str_2
4print(new_str)
5
6# 字符串替换函数,生成新的str,旧的不会更改
7old_str = "old_str"
8new_str = old_str.replace("old", "new")
9# 输出:new_str
10print(new_str)
11
12# 字符串切割
13str_list = "this_is_str".split("_")
14# 输出:['this', 'is', 'str']
15print(str_list)
16
17# 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
18startswith(substr, beg=0,end=len(string))
19
20# 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
21endswith(suffix, beg=0, end=len(string))
22
23# 转换字符串中的小写字母为大写
24upper()
25
26# 转换字符串中所有大写字符为小写
27lower()
28
29# 返回字符串长度
30len(string)
31
32# 如果字符串中只包含数字字符,则返回 True,否则返回 False
33isnumeric()
34
35# 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
36isalpha()
37
38# 在字符串上执行 lstrip()和 rstrip(),删除字符串开头和末尾的空格
39strip([chars])

字符串格式化

目的:将一个值/字符插入到一个字符串中。

1# 两种格式化方法
2print("我是{0}".format("知秋小梦"))
3print("我是%s,今年%d岁"%("知秋小梦", 18))
4
5# 输出
6我是知秋小梦
7我是知秋小梦,今年18岁




02

Python列表


列表切片

同字符串切换一样,列表同样可以进行切片

1# 定义列表
2list_str = ['aa', 'bb', 11, 'cc']
3# 输出列表最后一位
4print(list_str[-1])
5# 倒序输出列表
6print(list_str[::-1])
7# 同字符串切片
8...

列表常用函数

len/max/min : 列表元素个数/最大值/最小值

1list_str = ['aa', 'bb', 11, 'cc']
2# 在列表末尾添加新的对象
3list_str.append(["new_a", "new_b"])
4 # 输出:['aa', 'bb', 11, 'cc', ['new_a', 'new_b']]
5print(list_str)
6
7# 列表追加新对象中的多个值到源列表中进行扩展
8list_str.extend(["new_a", "new_b"])
9 # 输出:'aa', 'bb', 11, 'cc', 'new_a', 'new_b']
10print(list_str)
11
12# 列表排序
13list_str.sort(key=None, reverse=False)


  • append和extend方法的区别,append用于追加新对象,extend用于追加新对象的每一个值
  • sort排序的列表元素必须为同一数据类型

此节内容为Python数据类型的补充,特别是切片概念等,在数据处理过程中很常用,也对于后面Python进阶的学习有很大帮助!


Python系列

Python系列会持续更新,从基础入门到进阶技巧,从编程语法到项目实战。若您在阅读的过程中发现文章存在错误,烦请指正,非常感谢;若您在阅读的过程中能有所收获,欢迎一起分享交流。

如果你也想和我一起学习Python,可以关注我的微信公众号

学习Python,我们不只是说说而已

Python入门基础教程-列表与字符串高阶操作_数据类型_02