第3章 组合数据类型

3.1 列表(list)

列表是可变有序列表。列表的长度和内容是可变的,可自由对列表中的数据项进行增加、删除或替换。列表元素类型可以不同。列表用中括号([ ])表示,也可以通过 list() 函数将元组或字符串转化成列表,直接使用 list() 会返回一个空列表。

列表类型常用的函数或方法:

函数或方法 描述
list[i] = x 替换列表 list 第 i 项数据为 x
list[i: j] = lt 用列表 lt 替换列表 list 第 i 项到第 j-1 项数据
list[i: j: k] = lt 用列表替换列表 list 第 i 项到第 j-1 项以 k 为步长的数据
del list[i: j] 删除列表 list 第 i 项到第 j-1 项数据
del list[i: j: k] 删除列表 list 第 i 项到第 j-1 项以 k 为步长的数据
list += lt 或 list.extend(lt) 将列表 lt 添加到列表 list
list * n 更新列表 list,其元素重复 n 次
list.append(x) 在列表 list 最后添加元素 x
list.clear() 删除列表 list 的所有元素
list.copy() 复制列表 list
list.count(x) 返回元素 x 在列表 list 中出现的次数
list.insert(i, x) 在列表 list 的第 i 位置插入元素 x
list.pop([i]) 将列表 list 的第 i 项元素取出,并删除该元素,默认最后一个元素
list.remove(x) 将列表 list 出现的第一个元素 x 删除
list.reverse() 将列表 list 的元素反转
list.sort([reverse=True]) 对列表进行降序排序,默认为升序排序

3.2 元组(tuple)

与列表不同的是,元组属于不可变序列。元组一旦被创建,用任何方法都不可以修改其元素值。元组的定义形式与列表类似,区别在于元组使用小括号表示(( )),也可以使用 tuple() 将列表或字符串转化成元组。对元组而言,只能使用 del 命令删除整个元组对象,而不能只删除元组中的部分元素,因为元组属于不可变序列。

3.3 集合(set)

集合是无序可变序列,没有索引和位置,集合中的元素不可重复。集合的打印效果和定义的顺序并不一定一致。集合使用大括号({ })表示,也可以使用 set() 将任何组合数据类型转化成一个无重复且排序任意的集合。

  1. 集合类型的操作符:
操作符 描述
S & T 或 S.intersection(T) 交集
S &= T 或 S.intersection_update(T) 计算集合 S 和集合 T 的交集并更新到集合 S
S | T 或 S.union(T) 并集
S |= T 或 S.update(T) 计算集合 S 和集合 T 的并集并更新到集合 S
S ^ T 或 S.symmetric_difference(T) 补集
S ^= T 或 S.symmetric_difference_update(T) 计算集合 S 和集合 T 的补集并更新到集合 S
S - T 或 S.difference(T) 差集
S -= T 或 S.difference_update(T) 计算集合 S 和集合 T 的差集并更新到集合 S
S <= T 或 S.issubset(T) 如果集合 S 和集合 T 相同或 S 是 T的子集,返回 True,否则返回 False
S >= T 或 S.issubset(T) 如果集合 S 和集合 T 相同或 S 是 T的超集,返回 True,否则返回 False
  1. 集合类型的操作函数或方法:
操作函数或方法 描述
S.add(x) 把元素 x 增加到集合 S
S.clear() 清空集合 S
S.copy() 复制集合 S
S.pop 随机返回集合 S 的一个元素,并删除该元素
S.discard(x) 如果 x 在集合 S 中,移除该元素,不在则不报错
S.remove(x) 如果 x 在集合 S 中,移除该元素,不在则报KeyError错
S.isdisjoint(T) 如果集合 S 和集合 T 没有相同元素,则返回 True

3.4 字典(dict)

字典是“键-值”的无序可变序列。字典中的“键”可以是 Python 中任意不可变数据,例如数字、字符串和元组等,但不能使用列表、集合和字典等,因为这些类型的对象是可变的。另外,字典中的“键”不允许重复,而“值”是可以重复的。可以使用 dict() 函数创建字典。定义如下:

d = {"键1": "值1", "键2": "值2"}

字典类型和函数和方法:

函数或方法 描述
d.keys() 返回所有键
d.values() 返回所有值
d.items() 返回所有键值对
d.get(key, default) 键存在则返回相应值,否则返回默认值
d.pop(key, default) 键存在则返回相应值,同时删除键值对,否则返回默认值
d.popitem() 随机返回一个键值对,以元组形式返回(key, value),同时删除键值对
d.clear() 清空字典所有键值对
del d[key] 删除字典某一键值对

你可能感兴趣的:(第3章 组合数据类型)