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)
相关推荐
君顾17 分钟前
外卖CPS系统开发实战指南:从架构设计到部署全流程解析
java·开发语言·外卖
旋生万物18 分钟前
素数都排在等角螺线上?用螺旋数论给黎曼猜想画一张“几何画像“(附Python)
python·ai编程·数论·黎曼猜想·素数分布
彧azz32 分钟前
二叉搜索树学习记录
c语言·数据结构·笔记·算法
用户37215742613532 分钟前
使用 Python 压缩 PDF 文件:减小图片、字体和文档内容体积
python
java1234_小锋36 分钟前
Tornado 6.5,全面支持 Python 3.14
数据库·python·tornado
是立不是利43 分钟前
前端交互基石:深入剖析JavaScript三级联动背后的设计哲学
开发语言·前端·javascript
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的印度上市公司财务指标数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·信息可视化·spark·课程设计·大数据毕设项目
SEO_juper1 小时前
你的服务器正在被 AI 爬虫“白嫖“带宽:2026 用日志把 Googlebot 和 AI 洪流分开算账(附脚本)
运维·人工智能·爬虫·python·chatgpt·seo
浩风祭月1 小时前
GPT Image 2.5 Sunburst还是Flare?模型选型、Python接入与成本避坑
python·aigc·openai·图像生成·gpt image 2.5