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)
相关推荐
凌盛羽18 分钟前
C#对Excel表csv文件的读写操作
开发语言·windows·物联网·microsoft·c#·excel
途途途途21 分钟前
Python 给 Excel 写入数据的四种方法
windows·python·excel
VBA633722 分钟前
VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释
开发语言
Dontla23 分钟前
Rust字节数组(Byte Array)Rust u8、Vec<u8>、数组切片、向量切片、字符串转字节数组转字符串、&[u8]类型:字节数组引用
开发语言·rust
走在考研路上2 小时前
Python错误处理
开发语言·python
数据小爬虫@2 小时前
Python爬虫:如何优雅地“偷窥”商品详情
开发语言·爬虫·python
CV大法好2 小时前
刘铁猛p3 C# 控制台程序引用System.Windows.Forms报错,无法引用程序集 解决方法
开发语言·c#
闰土_RUNTU2 小时前
Pytorch分布式训练print()使用技巧
人工智能·pytorch·python·分布式训练·训练技巧
Days20502 小时前
uniapp小程序增加加载功能
开发语言·前端·javascript
零光速3 小时前
数据处理与统计分析——10-Pandas可视化-Matplotlib的常用API
数据结构·python·数据分析·pandas·matplotlib