Python数据结构

Henry Lv3

type命令

  • 获取变量值的数据类型
    1
    2
    3
    4
    type(5)
    # int
    type(print)
    # builtin_function_or_method
    序列
  • 包含三种类型:字符串、元组、列表
  • 特点:有序性、有索引、同类型可拼接、可获取长度、可检查是否包含元素、长度理论不限(收实际物理机内存限制)

元组

  • 定义:所有元素使用()扩起,并用逗号分隔。
  • 注意:元组是不可变的
  • 如果元组只有一个元素,则元素后面必须增加逗号
    1
    2
    3
    4
    type((5))
    # int
    type((5,))
    # tuple
  • 元组函数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    x in tup        # x是tup元组中的元素返回True,否则返回False
    len(tup) # 元组tup的长度
    tup.count(x) # 返回x在元组中出现的次数
    tup.index(x) # 返回x在tup元组中第一次出现的索引;不存在则ValueError异常
    # 可以使用+或*拼接
    tup1 = (1,2,3)
    tup2 = (4,5,6)
    tup1 + tup2
    # (1,2,3,4,5,6)
    tup1 * 2
    # (1,2,3,1,2,3)
    列表
  • 定义:所有元素使用[]扩起,并用逗号分隔
  • 注意:列表是可变的,且列表中的元素可以指向自身
    1
    2
    3
    4
    5
    pets = ['dog', 'cow', 'frog']
    pets[1] = 'cat' # 修改列表中的值
    print(pets) # ['dog', 'cat', 'frog']
    pets[2] = pets # 列表中的值指向自身
    print(pets) # ['dog', 'cat', [...]]
  • 列表函数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    s.append(x)                     # 在列表s末尾添加x
    s.count(x) # 返回元素x在列表s中出现的次数
    s.extend(lst) # 将lst的所有元素都添加到列表s末尾
    s.index(x) # 返回x元素第一次出现的索引
    s.insert(i, x) # 将元素x插入到索引i指定的元素前面,结果是s[i] == x
    s.pop(i) # 删除并返回s中索引为i的元素,如果i为空,则删除并返回s中最右面的元素
    s.remove(x) # 删除s中的第一个x元素
    s.reverse() # 反转s中元素的排列顺序
    s.sort() # 将s的元素按升序排列
  • 列表解析
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # 创建一个1~10平方结果的列表
    [n * n for n in range(1,11)]
    # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    # 修改列表
    names = ['al', 'mei', 'jo']
    cap_names = [n.capitalize() for n in names]
    print(names)
    # ['al', 'mei', 'jo']
    print(cap_names)
    # ['Al', 'Mei', 'Jo']

    # 筛选列表
    def m(s):
    print([c for c in s if c.lower() not in 'aeiou'])
    return ''.join([c for c in s if c.lower() not in 'aeiou'])
    m('Apple Sauce Yes')
    # ['p', 'p', 'l', ' ', 'S', 'c', ' ', 'Y', 's']
    # 'ppl Sc Ys'
    字典
  • 定义:使用{}扩起,键与值用冒号分隔,多个键值间用逗号分隔
    1
    2
    3
    color = {'red' : 1, 'blue' : 3}
    # 修改值
    color['red'] = 2
  • 注意
    • 键必须唯一,不能重复,重复则以最后出现的为准
    • 键是不可变的,值可变
  • 字典函数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    d.items()               # 返回一个由字典d的键-值对组成的视图
    d.keys() # 返回一个由字典d的键组成的视图
    d.values() # 返回一个由字典d的值组成的视图
    d.get(key) # 返回与key相关联的值
    d.pop(key) # 删除键key并返回与之相关联的值
    d.popitem() # 返回字典d中的某个键-值对
    d.clear() # 删除字典d的所有元素
    d.copy() # 赋值字典d
    d.fromkeys(s,t) # 创建一个新字典,其中的键来自s,值来自t
    d.setdefault(key,v) # 如果key包含在字典d中,则返回其值;否则,返回v并将(key,v)添加到字典d中
    d.update(e) # 将e中的键-值对添加到字典d中;e可能是字典,也可能是键-值对序列

    # 删除并返回字典某个键-值
    color = {'red' : 1, 'blue' : 3}
    print(color.popitem())
    # ('blue', 3)
    集合
  • 定义:使用{}扩起,多个键用逗号隔开,只有键没有值
    1
    2
    3
    4
    5
    # 列表去重
    lst = [1,1,6,8,1,5,5,6,8,1,5]
    s = set(lst)
    print(s)
    # {8, 1, 5, 6}
  • 标题: Python数据结构
  • 作者: Henry
  • 创建于 : 2026-01-04 10:02:58
  • 更新于 : 2026-01-04 14:45:14
  • 链接: https://mybetterworks.github.io/2026/01/04/Python数据结构/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
Python数据结构