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

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

相关推荐
李昊哲小课22 分钟前
销售数据可视化分析项目
python·信息可视化·数据分析·matplotlib·数据可视化·seaborn
烛阴32 分钟前
带参数的Python装饰器原来这么简单,5分钟彻底掌握!
前端·python
全干engineer1 小时前
Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用
后端·python·flask·web
nightunderblackcat1 小时前
新手向:Python网络编程,搭建简易HTTP服务器
网络·python·http
没有bug.的程序员1 小时前
JAVA面试宝典 -《Spring Boot 自动配置魔法解密》
java·spring boot·面试
李昊哲小课1 小时前
pandas销售数据分析
人工智能·python·数据挖掘·数据分析·pandas
C嘎嘎嵌入式开发1 小时前
python之set详谈
开发语言·python
之歆2 小时前
Python-正则表达式-信息提取-滑动窗口-数据分发-文件加载及分析器-浏览器分析-学习笔记
python·学习·正则表达式
往日情怀酿做酒 V17639296382 小时前
pytorch的介绍以及张量的创建
人工智能·pytorch·python
旷世奇才李先生2 小时前
奇哥面试记:SpringBoot整合RabbitMQ与高级特性,一不小心吊打面试官
spring boot·面试·java-rabbitmq