有序地,可以重复元素,可以添加和修改列表中的元素,可以存储不同的数据类型。
[En]
Orderly, elements can be repeated, elements in the list can be added and modified, and different data types can be stored.
- 中括号创建并填充 —>[]
- 通过构造函数创建 list()
-
列表推导式 —>
[x for x in li if x ...]
-
默认正向索引,编号从 0 开始。
-
支持反向索引,编号从-1 开始。
-
start 值: 指示 开始索引值,如果没有指定,则 默认开始值为 0;
- stop 值: 指示到哪个 索引值结束,但 不包括这个结束索引值。如果没有指定,则取列表允许的 最大索引值;
- step 值: 步长值指示每一步大小,如果 没有指定,则默认 步长值为 1。
-
三个值都是可选的,不是必填项
[En]
all three values are optional and not required*
-
重复
- 使用
*
运算符可以重复生成列表元素。 - 合并
-
使用
+
加号运算符,可以将两个列表合二为一 -
in:检查一个对象是否在列表中,如果在则返回 True,否则返回 False。
-
not in:检查一个列表是否不包含某个元素。如果不在返回 True,否则返回 False。
-
append()
-
extend()
-
insert()
-
pop()
-
remove()
-
sort()
-
reverse()
-
创建嵌套列表
- 访问嵌套列表的元素
有序,元素可以重复,元组中的元素不能修改,并且可以存储不同的数据类型。
[En]
Ordered, elements can be repeated, elements in tuples cannot be modified, and different data types can be stored.
- 使用逗号分隔
- 通过小括号填充元素
-
通过构造方法 tuple(iterable)
-
正向索引,默认编号从 0 开始
-
反向索引,默认编号从-1 开始
-
index()
-
count()
将可迭代对象中的元素放入由相应变量组成的元组中。
[En]
Put the elements in an iterable object into a tuple made up of corresponding variables.
- 传统逐个赋值的方式
-
使用元组解包,一气呵成
-
相同点
- 都是 有序的,元素可以重复
- 都是异构的,能够包含 不同类型的对象
- 都支持索引和切片
- 区别
- 声明方式不同,元组使用
()
,列表使用[]
- 列表是可变的,元组是不可变的
无序、用大括号 {}
包围、添加或删除元素、可以存放不同的数据类型、去重
- 通过使用
{}
填充元素 - 通过构造方法 set()
-
通过集合推导式
-
in 判断元素是否在集合中存在
-
not in 判断元素是否在集合中不存在
-
add()
-
update()
-
remove()
-
discard()
-
pop()
-
clear()
语法: {x for x in ... if ...}
无序的,用大括号 {}
包围,键值对的形式,键是不可以重复的
- 使用大括号填充键值对 {}
- 通过构造方法 dict()
-
使用字典推导式
-
访问存在的key
-
访问不存在的key,会报KeyError错误
-
语法:dict[key] = value
- 添加元素
- 键不存在
- 修改元素
-
键已经存在
-
嵌套字典
-
字典的值可以是字典对象
-
get()
-
update()
-
pop()
实例1:给定一个字典对象 {'a': 1, 'b': 2, 'c': 3}
,找出其中所有大于 1 的键值对,同时 value 值进行平方运算。
实例2:给定一个字典对象,请使用字典推导式,将它的key和value分别进行交换。也就是key变成值,值变成key。输入: {‘a’: 2, ‘b’: 8, ‘c’: 4}输出: {2: ‘a’,8: ‘b’, 4: ‘c’}
Original: https://www.cnblogs.com/jiuyou-emperor/p/15808838.html
Author: 九幽帝君
Title: Python常用的数据结构
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/510226/
转载文章受原作者版权保护。转载请注明原作者出处!