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

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

相关推荐
用户8356290780512 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
用户8356290780512 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
用户852495071847 小时前
解密 JavaScript 中的 this:谁才是真正的调用者?
javascript·面试
Heo7 小时前
Vite进阶用法详解
前端·javascript·面试
洛卡卡了7 小时前
Claude Code rules 要怎么用,团队协作时如何统一代码规范呢?
面试·agent·claude
不好听61310 小时前
JavaScript 的 this 到底指向谁?
javascript·面试
烬羽10 小时前
面试官:聊聊 LocalStorage 和 this 指向?看这篇就够了
面试·程序员
你好潘先生10 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
weedsfly10 小时前
JS垃圾回收:从原理到项目实战,彻底根治内存泄漏
前端·javascript·面试