首页 代码 正文

Python数据容器分类

2023.12.19 代码 211

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

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

通用操作

这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
  1. 转载请保留原文链接:Python数据容器分类 https://aboss.top/post/586/
  2. 本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
  3. 本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
  4. 本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
  5. 联系方式(#替换成@):mail#aboss.top

评论

热门搜索