在python中,数据类型主要由以下几类组成:
[]
定义,元素之间使用,分隔。例:[1,2, ...]
索引
就是元素在列表中的位置编号
,索引又可以被称为下标
注意:
从列表中取值时,如果超过索引范围
,程序会报错Eg:
# 0 init list
L = [1, 2, 3, 4, 5, 7, 6]
# 1 index value
L[1] # --> 2
# 2 step
L[2: 5: 2] # --> [3, 5]
# 3 length
len(L) # --> 6
# 4 in
6 in L # ---> True
8 in L # ---> False
# 5 count
L.count(1) # ---> 1
# 6 index
L.index(2) # ---> 1
# 7 sort
L.sort() # ---> [1, 2, 3, 4, 5, 6, 7] 注意:会改变自己 返回None
# 8 reverse
L.reverse() # 由于第7步改变了自己, 这里变成[7, 6, 5, 4, 3, 2, 1] 会改变自己 返回None
# 9. clear
L.clear() # ---> []
L = [1, 2, 3, 4, 5]
L[2]
=
7
L # ---> [1, 2, 7, 4, 5]
L.append(6)
L # ---> [1, 2, 7, 4, 5, 6]
L.insert(3,
9)
L # ---> [1, 2, 7, 4, 9, 5, 6]
L.pop(3)
# 4, L 变成[1, 2, 7, 9, 5, 6]
L.pop()
# 6, L 变成[1, 2, 7, 9, 5]
L.remove(2)
# L 变成[1, 7, 9, 5]
del L[3]
# L 变成[1, 7, 9]
列表l
.extend(列表2
): 将列表2拼接在列表1后L.extend([8,
9,
10])
L # L 变成[1, 7, 9, 8, 9, 10], 等价于 L = L + [8, 9, 10]
有序
且不可更改
的集合, 允许重复
的成员元组元素不可修改
()
定义,元素之间使用,
分隔。例:(a, b, …)init_tuple =
100,
type(init_tuple)
# ---> tuple
# ---- 另外写法
init_tuple =
(100,
)
# 逗号一定要加
开始索引到结束索引-1
的元组,如果设置步长,按步长跳过元素无序
和无索引
的序列。没有重复的元素
自动删除重复的元素
,一般应用于去重
、交并差运算
场景s = {1, 2, 3}
s.add(5)
# ---> {1, 2, 3, 5}
集合1
.update(集合2
): 添加新的元素或集合到当前集合中s.add{4,
5,
6}
# ---> {1, 2, 3, 5, 4, 6}
s.remove(4)
# ----> {1, 2, 3, 5, 6}
集合1&集合2
: 交集,获得由集合1和集合2中都存在的元素组成的新集合s &
{3,
4,
5}
# ---> {3, 5}
集合1|集合2
: 并集,获得集合1和集合2中所有元素的新集合s |
{8,
9,
10}
# ---> {1, 2, 3, 5, 6, 8, 9, 10}
集合1 - 集合2
: 差集,获得在集合1中存在但是在集合2中不存在的元素集合s -
{9,
10}
# ---> {1, 2, 3, 5, 6, 8}
无序
,可变
的集合。没有重复的成员键
和对应的值
,称为键值对
{}
定义,键和值之间使用:
表示对应关系,不同键值对使用,分隔值
可以取任何数据类型,但键
只能使用字符串、数字或元组
描述一个物体的相关信息
d = {a: [1, 2], b: [3, 4]}
d[a]
# ---> [1, 2]
len(d)
# ---> 2
d.clear()
# {}
d = {a: [1, 2], b: [3, 4]}
d.get(a,
5)
# ---> [1, 2]
d[a]
=
[7,
8]
# ---> d {a:[7, 8], b: [3, 4]}
d.keys()
# ---> dict_keys([a, b])
d.values()
# ---> dict_values([[7, 8], [3, 4]])
d.items()
# ---> dict_items([(a, [7, 8]), (b, [3, 4])])
del d[a]
# ---> d {b: [3, 4]}
字典1
.update(字典2
): 字典1合并字典2 , 对于在字典1中已经存在的键,使用字典2的值进行数据覆盖d.update({c:
[5,
6]})
# ----> d {b: [3, 4], c: [5, 6]}