Python基本数据结构与用法详解【列表、元组、集合、字典】

yizhihongxing

Python基本数据结构与用法详解【列表、元组、集合、字典】

Python是一种动态、面向对象、解释型脚本语言,广泛应用于爬虫、数据分析、Web开发等领域。掌握Python基本数据结构和用法是入门Python的必学内容,本文将详细讲解Python的列表、元组、集合、字典四种基本数据结构的概念、特点、用法及示例。

列表

列表(List)是Python中最常用的一种数据结构,可以存储多个元素,这些元素可以是数字、字符串、甚至是其他列表等各种类型。列表使用一对方括号([])表示,每个元素之间用逗号(,)隔开。

列表的创建

直接创建

可以通过方括号直接创建一个列表:

>>> my_list = [1, 2, 'three', 4.0]
>>> print(my_list)
[1, 2, 'three', 4.0]

使用list()函数创建

也可以通过list()函数将其他序列(如元组、字符串)转换为列表:

>>> my_tuple = (1, 2, 'three', 4.0)
>>> my_list = list(my_tuple)
>>> print(my_list)
[1, 2, 'three', 4.0]

>>> my_str = 'hello'
>>> my_list = list(my_str)
>>> print(my_list)
['h', 'e', 'l', 'l', 'o']

列表的访问

索引和切片

列表中的元素可以通过索引和切片来访问。

>>> my_list = [1, 2, 'three', 4.0]
>>> print(my_list[0])    # 访问第一个元素
1
>>> print(my_list[-1])   # 访问最后一个元素
4.0
>>> print(my_list[1:3])  # 切片,访问第2到第3个元素
[2, 'three']

遍历列表

可以使用for循环遍历列表中的所有元素:

>>> my_list = [1, 2, 'three', 4.0]
>>> for item in my_list:
...     print(item)
1
2
three
4.0

列表的操作

添加元素

可以使用append()方法在列表的末尾添加一个元素:

>>> my_list = ['apple', 'banana']
>>> my_list.append('orange')
>>> print(my_list)
['apple', 'banana', 'orange']

同样地,可以使用insert()方法在指定位置插入一个元素:

>>> my_list = ['apple', 'banana']
>>> my_list.insert(1, 'orange')
>>> print(my_list)
['apple', 'orange', 'banana']

删除元素

可以使用del语句、remove()方法和pop()方法删除列表中的元素。其中,del语句用于删除指定位置的元素(也可以删除整个列表);remove()方法用于删除指定值的元素;pop()方法用于删除指定位置的元素并返回该元素的值。

>>> my_list = ['apple', 'orange', 'banana']
>>> del my_list[1]           # 删除第2个元素
>>> print(my_list)
['apple', 'banana']

>>> my_list = ['apple', 'orange', 'banana']
>>> my_list.remove('orange') # 删除值为'orange'的元素
>>> print(my_list)
['apple', 'banana']

>>> my_list = ['apple', 'orange', 'banana']
>>> val = my_list.pop(1)     # 删除第2个元素并返回'orange'
>>> print(val)
orange
>>> print(my_list)
['apple', 'banana']

元组

元组(Tuple)是Python中另一种常用的数据结构,和列表相似,但元组一旦创建就不允许修改,因此可以用作常量列表或者安全敏感数据的容器。元组使用一对小括号(())表示,每个元素之间用逗号(,)隔开。

元组的创建

直接创建

可以通过小括号直接创建一个元组:

>>> my_tuple = (1, 2, 'three', 4.0)
>>> print(my_tuple)
(1, 2, 'three', 4.0)

使用tuple()函数创建

也可以通过tuple()函数将其他序列(如列表、字符串)转换为元组:

>>> my_list = [1, 2, 'three', 4.0]
>>> my_tuple = tuple(my_list)
>>> print(my_tuple)
(1, 2, 'three', 4.0)

>>> my_str = 'hello'
>>> my_tuple = tuple(my_str)
>>> print(my_tuple)
('h', 'e', 'l', 'l', 'o')

元组的访问

元组中的元素可以通过索引和切片来访问,和列表相同。

元组的操作

由于元组是不可变的,因此只有很少的操作可以对元组进行修改。

元组的合并

可以使用加号(+)将两个元组合并成一个新的元组:

>>> my_tuple1 = (1, 2, 'three')
>>> my_tuple2 = (4.0, 5.0, 6.0)
>>> my_tuple = my_tuple1 + my_tuple2
>>> print(my_tuple)
(1, 2, 'three', 4.0, 5.0, 6.0)

元组的复制

可以使用乘号(*)将元组重复多次:

>>> my_tuple = (1, 2, 'three') * 3
>>> print(my_tuple)
(1, 2, 'three', 1, 2, 'three', 1, 2, 'three')

集合

集合(Set)是Python中另一种常见的数据结构,类似于数学中的集合。它用一对花括号({})表示,每个元素之间用逗号(,)隔开。

集合中的元素是无序的,且每个元素只能出现一次。集合的主要作用是去除序列中的重复元素,并且可以进行集合运算(如交、并、差)。

集合的创建

可以直接使用花括号创建一个集合:

>>> my_set = {1, 2, 3, 4}
>>> print(my_set)
{1, 2, 3, 4}

也可以使用set()函数将其他序列(如列表、字符串)转换为集合:

>>> my_list = [1, 2, 3, 4]
>>> my_set = set(my_list)
>>> print(my_set)
{1, 2, 3, 4}

>>> my_str = 'hello'
>>> my_set = set(my_str)
>>> print(my_set)
{'e', 'l', 'h', 'o'}

集合的操作

可以使用交、并、差等运算对集合进行操作。

集合的交

可以使用&intersection()方法获取两个集合的交集:

>>> set1 = {1, 2, 3, 4}
>>> set2 = {3, 4, 5, 6}
>>> print(set1 & set2)
{3, 4}
>>> print(set1.intersection(set2))
{3, 4}

集合的并

可以使用|union()方法获取两个集合的并集:

>>> set1 = {1, 2, 3, 4}
>>> set2 = {3, 4, 5, 6}
>>> print(set1 | set2)
{1, 2, 3, 4, 5, 6}
>>> print(set1.union(set2))
{1, 2, 3, 4, 5, 6}

集合的差

可以使用-difference()方法获取两个集合的差集:

>>> set1 = {1, 2, 3, 4}
>>> set2 = {3, 4, 5, 6}
>>> print(set1 - set2)
{1, 2}
>>> print(set1.difference(set2))
{1, 2}

字典

字典(Dictionary)是Python中另一种常用的数据结构,用于存储键值对。它用一对花括号({})表示,每个键值对之间用冒号(:)隔开,键值对之间用逗号(,)隔开。

字典中的键是唯一的,且只能使用不可变类型(如数字、字符串、元组)作为键,值可以是任何数据类型。

字典的创建

可以通过花括号直接创建一个字典:

>>> my_dict = {'name': 'Alice', 'age': 20}
>>> print(my_dict)
{'name': 'Alice', 'age': 20}

也可以使用dict()函数:

>>> my_dict = dict([('name', 'Alice'), ('age', 20)])
>>> print(my_dict)
{'name': 'Alice', 'age': 20}

字典的访问

可以使用方括号加键来访问字典中的元素:

>>> my_dict = {'name': 'Alice', 'age': 20}
>>> print(my_dict['name'])
Alice

字典的操作

添加、修改元素

可以通过方括号加键来添加或修改字典中的元素:

>>> my_dict = {'name': 'Alice', 'age': 20}
>>> my_dict['gender'] = 'female'  # 添加元素
>>> print(my_dict)
{'name': 'Alice', 'age': 20, 'gender': 'female'}

>>> my_dict = {'name': 'Alice', 'age': 20}
>>> my_dict['age'] = 21          # 修改元素
>>> print(my_dict)
{'name': 'Alice', 'age': 21}

删除元素

可以使用del语句或pop()方法删除字典中的元素。其中,del语句用于删除指定键及其对应的值;pop()方法用于删除指定键并返回该键对应的值。

>>> my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
>>> del my_dict['gender']            # 删除'gender'键
>>> print(my_dict)
{'name': 'Alice', 'age': 20}

>>> my_dict = {'name': 'Alice', 'age': 20}
>>> val = my_dict.pop('age')         # 删除'age'键并返回20
>>> print(val)
20
>>> print(my_dict)
{'name': 'Alice'}

结语

本文对Python的四种基本数据结构进行了详细的介绍,同时给出了各种用法和操作的示例。掌握好这些数据结构的用法,可以大大提高Python程序的表现力和效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基本数据结构与用法详解【列表、元组、集合、字典】 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • ios9.2.1固件下载 苹果ios9.2.1 beta1固件官方下载地址

    iOS 9.2.1固件下载攻略 苹果iOS 9.2.1是一个重要的系统更新,提供了一些修复和改进。如果你想下载iOS 9.2.1固件,下面是一个详细的攻略,包含了官方下载地址和示例说明。 步骤一:访问官方下载页面 首先,你需要访问苹果官方的下载页面来获取iOS 9.2.1固件。你可以通过以下链接访问官方下载页面: 苹果iOS 9.2.1固件官方下载地址 步骤…

    other 2023年8月4日
    00
  • 前端图片懒加载的原理与3种实现方式举例

    前端图片懒加载的原理与3种实现方式举例 前端图片懒加载原理 前端图片懒加载,顾名思义,就是在页面渲染时,不加载显示在当前视线范围之外的图片,只有当用户滚动页面至该图片可见位置时,才开始加载显示该图片。 这种技术的核心原理就是“赖加载”。通常情况下,页面中的图片是通过img标签将其src属性指向具体的url来加载显示的。而前端图片懒加载,通过修改img标签的s…

    other 2023年6月25日
    00
  • PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】

    PHP学习记录之面向对象(Object-oriented programming,OOP)基础 什么是面向对象(OOP)? 面向对象是一种程序设计的方法,采用了面向对象的程序设计方法可以让程序更加灵活、模块化、易于维护和扩展。 OOP 有三个基本概念:类、对象和继承。 类 在 OOP 中,类是对具有相似属性和方法的对象的抽象描述。类定义了一个对象的特征和行为…

    other 2023年6月27日
    00
  • PythonCrashCourse 第三章习题

    下面是“PythonCrashCourse 第三章习题的完整攻略”的详细讲解,包括题目描述、解题思路和两个示例等方面。 题目描述 本题是 PythonCrashCourse 第三章的习题,要求编写一个程序,提示用户输入一个数字,并判断该数字是否是 10 的整数倍。如果是,则输出一条消息,指出这个数字是 10 的整数倍;否则,输出一条消息,指出这个数字不是 1…

    other 2023年5月5日
    00
  • OpenMP task construct 实现原理及源码示例解析

    OpenMP task construct 实现原理及源码示例解析 一、简介 OpenMP作为一种并行编程的标准,其在多核处理器上实现并行化工作时非常常见。在OpenMP中,task construct 作为一种重要的并行化工具,可以方便地在并行执行中创建多个任务,并将这些任务分配到多个线程中。本篇攻略将详细讲解 OpenMP task construct …

    other 2023年6月26日
    00
  • Photolemur 3中文版安装破解详细图文教程

    以下是”Photolemur 3中文版安装破解详细图文教程”的完整攻略。 Photolemur 3中文版安装破解详细图文教程 简介 Photolemur 3是一款非常出色的Mac平台图像处理软件,能够自动智能地为您的照片进行色彩校正、修饰、降噪等处理。如果您正在寻找一款方便好用的图像处理软件,那么Photolemur 3无疑是非常不错的选择。 破解方法 首先…

    other 2023年6月27日
    00
  • 从零开始打造mock平台-核心篇

    以下是详细讲解“从零开始打造mock平台-核心篇的完整攻略,过程中至少包含两条示例说明”的标准Markdown格式文本: 从零开始打造mock平台-核心篇 Mock平台是一种用于模拟API接口数据的工具,可以帮助开发人员在开发过程中快速构建和测试API接口。本攻略将介绍从零开始打造mock平台的核心步骤和技术。 步骤一:选择Mock平台框架 可以选择以下几种…

    other 2023年5月10日
    00
  • 《C++ primer plus》读书笔记(一)

    下面是《C++ primer plus》读书笔记(一)的完整攻略。 《C++ primer plus》读书笔记(一) 简介 《C++ primer plus》作为一本C++入门级教材,深受广大读者喜爱。本读书笔记(一)主要分为三个部分:C++程序结构、标准输入输出和简单类型。在这些内容的学习中,我们将逐步了解C++基础语法和常用类型,打下扎实的基础,为我们后…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部