Python数据容器分类

109次阅读
没有评论

共计 938 个字符,预计需要花费 3 分钟才能阅读完成。

数据容器可以从以下视角进行简单分类:

  • 是否支持下标索引
    • 支持:列表、元组、字符串 – 序列类型
    • 不支持:集合、字典 – 非序列类型
  • 是否支持重复元素
    • 支持:列表、元组、字符串 – 序列类型
    • 不支持:集合、字典 – 非序列类型
  • 是否可以修改
    • 支持:列表、集合、字典
    • 不支持:元组、字符串

通用操作

这 5 类数据容器都支持 for 循环遍历。

通用方法

  • len():统计元素个数
  • max(),min():统计最大、最小元素
  • del 或 del():删除
  • range(start, end, step):生成从 start 到 end 的数字,步长为 step,供 for 循环使用
  • enumerate():迭代索引 - 值对

公共方法:

  • +:合并,字符串、列表、元组
  • *:复制,字符串、列表、元组
  • in/not in:元素是否存在 / 不存在,字符串、列表、元组、字典

通用转换功能

  • list(容器):转换为列表
  • str(容器):转换为字符串
  • tuple(容器):转换为元组
  • set(容器):转换为集合

通用排序功能

sorted(容器, reverse=True) 将给定容器进行排序,reverse=True 表示降序。

元组

具名元组

具名元组(namedtuple)是一种特殊的元组。在保留普通元组功能的基础上,允许为元组的每个成员命名,这样便能通过名称而不止是数字索引来访问成员。

创建具名元组需要用到 namedtuple() 函数,它位于标准库的 collections 模块里,使用前需先导入:

from collections import namedtuple

Rectangle = namedtuple("Rectangle", "width,height")
# 还可用空格分隔:'width height',或字符串列表:['width', 'height']

rect = Rectangle(10, 20)
print(rect.width)  # 10

在 Python 3.6 版本以后,还可以用 typing.NamedTuple 和类型注解语法来定义具名元组类型。这种方式在可读性上更胜一筹:

from typing import NamedTuple

class Rectangle(NamedTuple):
    width: int
    height: int

rect = Rectangle(100, 200)
print(rect.width)  # 100

正文完
 0
三毛笔记
版权声明:本站原创文章,由 三毛笔记 于2023-12-19发表,共计938字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)