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

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

相关推荐
甜瓜看代码1 小时前
Android事件分发机制
面试
李重楼1 小时前
前端性能优化之 HTTP/2 多路复用
前端·面试
lecepin3 小时前
AI Coding 资讯 2025-09-17
前端·javascript·面试
数据智能老司机4 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
闰五月5 小时前
JavaScript作用域与作用域链详解
前端·面试
数据智能老司机5 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机5 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机5 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
顾林海5 小时前
Android编译插桩之AspectJ:让代码像特工一样悄悄干活
android·面试·性能优化
poemyang5 小时前
技术圈的“绯闻女孩”:Gossip是如何把八卦秘密传遍全网的?
后端·面试·架构