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}(交集)

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

相关推荐
Lee川3 分钟前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试
晴殇i2 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
绝无仅有2 小时前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
绝无仅有3 小时前
Redis大Key问题排查与解决方案全解析
后端·面试·架构
敏编程3 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
AAA梅狸猫4 小时前
Looper.loop() 循环机制
面试
前端付豪4 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
AAA梅狸猫4 小时前
Handler基本概念
面试
databook4 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
Wect4 小时前
浏览器缓存机制
前端·面试·浏览器