Python几种常用数据结构(重制版)

一、列表 [List]
  • 定义:有序可重复的数据集合。
  • 示例my_list = ['element1', 'element2', 'element3']
  • 增加元素方法
    • append():在列表末尾增加单个元素(列表特有方法),例如 my_list.append('element')
    • extend():在列表末尾一次增加多个元素(列表特有方法),如 my_list.extend(['element4', 'element5'])
    • insert():指定下标索引增加元素,像 my_list.insert(1, 'element')
  • 删除元素方法
    • remove():移除指定元素,若元素不存在会报错,如 my_list.remove('element');可通过 try-except 结构处理元素不存在的情况。
    • 通过切片指定索引删除,例如 my_list[1:3] = []
    • pop():删除指定下标索引的元素(空索引即末位删除),并返回被删元素,如 popped_element = my_list.pop(1)
    • del:删除指定下标索引的元素(空索引即末位删除),像 del my_list[1]
  • 修改元素方法 :通过指定索引修改元素,如 my_list[0] = 'modified_element'
二、集合 {Set}
  • 定义:无序且元素唯一的数据集合。
  • 示例my_set = {'element1', 'element2', 'element3'}
  • 增加元素方法
    • add():增加单个元素(集合特有方法),例如 my_set.add('element')
    • update():增加多个元素(集合和字典共用的方法),如 my_set.update(['element4', 'element5'])
  • 删除元素方法
    • pop():随机删除元素。
    • discard():删除指定元素,不存在也不报错(集合特有方法),比如 my_set.discard('element');若使用 remove() 移除指定元素,元素不存在会报错,可通过 try-except 结构处理。
  • 修改元素:集合中元素具有唯一性,通常通过先删除旧元素再添加新元素来实现类似修改的操作。
三、字典 {Dictionary}
  • 定义:以键值对形式存储数据,键是唯一的。
  • 示例my_dict = {'key1': 'value1', 'key2': 'value2'}
  • 增加元素方法
    • 直接通过指定新键并赋值来增加单对键值,例如 my_dict['key3'] = 'value3'
    • update():增加多对键值(集合和字典共用的方法),如 my_dict.update({'key4': 'value4', 'key5': 'value5'})
  • 删除元素方法
    • del:删除指定键值,不返回被删键值,像 del my_dict['key3']
    • pop():删除指定键值,返回被删键值,例如 value = my_dict.pop('key2')
  • 修改元素方法 :通过指定键来修改对应的值,如 my_dict['key1'] = 'modified_value1'
四、元组(Tuple)
  • 定义:有序且不可变的数据集合,适合存储不需要修改的数据。
  • 示例my_tuple = ('element1', 'element2', 'element3')
  • 修改元素方式 :元组本身不可直接修改,若需修改,可创建一个新的元组,比如 new_tuple = my_tuple[:1] + ('modified_element',) + my_tuple[2:];也可以先转换为列表进行修改后再转换回元组,像 my_list_from_tuple = list(my_tuple)

延展:格式转化

当列表有重复元素,可利用集合唯一性去重

复制代码
my_list = ['element1', 'element2', 'element2', 'element3']  # 这里有重复元素的列表示例
# 先将列表转换为集合,利用集合元素唯一性的特点去重
unique_set = set(my_list)
# 再将去重后的集合转换回列表
new_list = list(unique_set)
print(new_list)
相关推荐
databook15 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar16 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805116 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_16 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机1 天前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机1 天前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i1 天前
drf初步梳理
python·django
每日AI新事件1 天前
python的异步函数
python