python入门:4种基本数据结构详解

前言

在Python中,列表、字典、元组和集合是四种常用的数据结构。

它们各有特点和用途。下面是这些类型的主要知识点:

1. 列表(List)

特点

  • 有序集合
  • 可变(可以增加、删除、修改元素)
  • 支持重复元素
  • 使用方括号 [] 定义

操作

  • 创建列表:my_list = [1, 2, 3]
  • 访问元素:my_list[0](访问第一个元素)
  • 修改元素:my_list[0] = 10
  • 添加元素:my_list.append(4)
  • 插入元素:my_list.insert(1, 5)
  • 删除元素:my_list.remove(2)del my_list[1]
  • 列表长度:len(my_list)
  • 列表切片:my_list[1:3]

示例

python 复制代码
my_list = [1, 2, 3, 4, 5]
print(my_list[0])  # 输出: 1
my_list.append(6)
print(my_list)  # 输出: [1, 2, 3, 4, 5, 6]

2. 字典(Dictionary)

特点

  • 无序集合
  • 可变
  • 键值对 key-value 结构
  • 键必须是唯一且不可变的(如字符串、数字、元组)
  • 使用花括号 {} 定义

操作

  • 创建字典:my_dict = {'a': 1, 'b': 2}
  • 访问元素:my_dict['a']
  • 修改元素:my_dict['a'] = 10
  • 添加元素:my_dict['c'] = 3
  • 删除元素:del my_dict['b']
  • 字典长度:len(my_dict)
  • 获取所有键:my_dict.keys()
  • 获取所有值:my_dict.values()

示例

python 复制代码
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict['a'])  # 输出: 1
my_dict['d'] = 4
print(my_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

3. 元组(Tuple)

特点

  • 有序集合
  • 不可变(创建后不能修改)
  • 支持重复元素
  • 使用小括号 () 定义

操作

  • 创建元组:my_tuple = (1, 2, 3)
  • 访问元素:my_tuple[0]
  • 元组长度:len(my_tuple)
  • 元组切片:my_tuple[1:3]

示例

python 复制代码
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[0])  # 输出: 1
print(len(my_tuple))  # 输出: 5

4. 集合(Set)

特点

  • 无序集合
  • 可变
  • 不允许重复元素
  • 使用花括号 {}set() 定义

操作

  • 创建集合:my_set = {1, 2, 3}my_set = set([1, 2, 3])
  • 添加元素:my_set.add(4)
  • 删除元素:my_set.remove(3)
  • 集合长度:len(my_set)
  • 集合运算:并集 |,交集 &,差集 -,对称差集 ^

示例

python 复制代码
my_set = {1, 2, 3}
print(my_set)  # 输出: {1, 2, 3}
my_set.add(4)
print(my_set)  # 输出: {1, 2, 3, 4}
other_set = {3, 4, 5}
print(my_set & other_set)  # 输出: {3, 4}(交集)

5. 比较

  • 列表:用于有序的数据集合,适合需要频繁修改内容的场景。
  • 字典:用于键值对数据,适合快速查找和更新的场景。
  • 元组:用于有序且不可变的数据集合,适合作为键或需要保护数据不被修改的场景。
  • 集合:用于无序且独特的数据集合,适合需要快速去重和集合运算的场景。

python代码示例

python 复制代码
my_list = [1, 2, 3, 4, 5]
print(my_list[0])  # 输出: 1
my_list.append(6)
print(my_list)  # 输出: [1, 2, 3, 4, 5, 6]


my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict['a'])  # 输出: 1
my_dict['d'] = 4
print(my_dict)  # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4}


my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[0])  # 输出: 1
print(len(my_tuple))  # 输出: 5


my_set = {1, 2, 3}
print(my_set)  # 输出: {1, 2, 3}
my_set.add(4)
print(my_set)  # 输出: {1, 2, 3, 4}
other_set = {3, 4, 5}
print(my_set & other_set)  # 输出: {3, 4}(交集)

通过理解和掌握这些数据类型及其操作,可以在不同的编程场景中选择合适的数据结构,提高代码的效率和可读性。

相关推荐
yanxing.D2 小时前
OpenCV轻松入门_面向python(第六章 阈值处理)
人工智能·python·opencv·计算机视觉
JJJJ_iii3 小时前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归
Python图像识别6 小时前
71_基于深度学习的布料瑕疵检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo
千码君20167 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
淮北4947 小时前
windows安装minicoda
windows·python·conda
爱喝白开水a9 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
默默coding的程序猿11 小时前
3.git的分支携带问题是什么?怎么解决?
java·git·python·svn·gitee·github·intellij-idea
新子y12 小时前
【小白笔记】PyTorch 和 Python 基础的这些问题
pytorch·笔记·python
怪兽201412 小时前
Redis常见性能问题和解决方案
java·数据库·redis·面试
我是李武涯12 小时前
PyTorch DataLoader 高级用法
人工智能·pytorch·python