在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]}