系列文章目录
前言
昨天博主梳理了有关变量,数字类型以及字符串类型,今天大家跟随博主一起进入复合类型之序列类型、映射类型和集合类型总结。相信大家跟随博主的进度在未来也会成为一位高级的算法工程师
一、复合类型初识
Python 支持多种复合数据类型,可将不同值组合在一起。
1.1 列表类型
list
列表是用方括号标注、逗号分隔的一组值,可以包含不同类型的元素:
- 列表内的数据有先后顺序关系
- 列表是可变的容器
1.1.1 列表创建
-
字面值
L = [] # 创建一个空的列表 L = ['北京', '上海', '广州', '西安'] # 创建一个含有4个字符串的列表 L = [1, 'Two', 3.14, True, False, None] L = [1, 2, [3.1, 3.2], 4] # 含有四个元素的列表,第三个元素是列表 L2 = [ ['姓名','语文成绩','数学成绩'], ['小王', 90, 100], ['牛犇', 59, 26] ]
-
构造函数list
list() # 创建一个空的列表,等同于 [] list(可迭代对象) # 用可迭代对象创建一个列表
示例
L = list() # L = [] L = list("ABC") # L = ['A', 'B', 'C'] L = list(range(5)) # L = [0, 1, 2, 3, 4]
1.1.2 列表运算
列表list同字符串str都是序列, 他们的运算规则基本相同。
-
+ 用于拼接列表
[1, 2, 3] + [4, 5, 6] # [1, 2, 3, 4, 5, 6]
-
+= 追加
语法
列表 += 可迭代对象
L = [1, 2, 3] L += [4, 5] # L = [1, 2, 3, 4, 5] L = [1, 2, 3] L += "ABC" # L = [1, 2, 3, 'A', 'B', 'C'] L += range(2)
-
* 用于生产重复的列表
[1, 2] * 3 # [1, 2, 1, 2, 1, 2] L = [5, 6] L *= 3 # L = [5, 6, 5, 6, 5, 6]
-
== 、!= 用于比较
[1, 2, 3] == [1, 2, 3] # True [1, 2, 3] != [3, 2, 1] # True
-
in 、not in 用于判断一个数据元素是否在列表中
"hello" in [1, "hello", 'world'] True '红楼梦' in ['三国演义', '西游记'] False
1.1.3 列表访问
1.1.3.1 索引
列表[整数表达式]
L = [1, 2, 3, 4, 5, 6]
print(L[0]) # 1
print(L[-1]) # 6
与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )
1.1.3.2 反向索引
索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )
1.1.3.3 切片
列表[(开始索引b):(终止索引e)(: (步长s))]
() 里的内容代表可以省略
x = [1, 2, 3, 4, 5, 6, 7, 8]
y1 = x[:4] # y1 = [1, 2, 3, 4]
y2 = x[::2] # y2 = [1, 3, 5, 7]
y3 = x[::-1] # y3 = [8, 7, 6, 5, 4, 3, 2, 1]
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
list = ['openAI', 'hqyj', "Zhihu", "Taobao", "Wiki"]
# 读取第二位
print (list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print (list[1:-2])
# 从下标2开始(包含2)到最后一个
print (list[2:])
# 从下标0开始到下标3结束(左闭右开)
print (list[:3])
1.1.4 列表操作
增、删、改、查(就是列表访问)
官方文档:https://docs.python.org/zh-cn/3.13/library/stdtypes.html#sequence-types-list-tuple-range
1.1.4.1 添加数据
- 方法