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)
相关推荐
学历真的很重要2 分钟前
Hello-Agents —— 03大语言模型基础 通俗总结
开发语言·人工智能·后端·语言模型·自然语言处理·面试·langchain
myw07120512 分钟前
湘大头歌程-Ride to Office练习笔记
c语言·数据结构·笔记·算法
H_BB13 分钟前
算法详解:滑动窗口机制
数据结构·c++·算法·滑动窗口
淀粉肠kk14 分钟前
【C++】封装红黑树实现Mymap和Myset
数据结构·c++
坚持就完事了20 分钟前
十大排序算法
数据结构·算法·排序算法
wefg128 分钟前
【C++】IO流
开发语言·c++
aloha_78928 分钟前
联易融测开面试准备
java·python·面试·单元测试
"菠萝"35 分钟前
C#知识学习-020(访问关键字)
开发语言·学习·c#
箫笙默1 小时前
JS基础 - 正则笔记
开发语言·javascript·笔记
小白程序员成长日记1 小时前
2025.11.29 力扣每日一题
数据结构·算法·leetcode