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

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技术站

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

相关文章

  • java对象的创建过程

    以下是关于“Java对象的创建过程”的完整攻略,包含两个示例。 Java对象的创建过程 在Java中,对象的创建过程包括三个步骤:分配内存、初始化对象、对象的引用。以下是关于Java对象创建过程的详细略。 1. 分配内存 在Java中,对象的创建始于分配内存。当我们使用new关键字创建一个对象时,虚拟机会在堆内存中为该对象分配一块连续的内存空间。以下是分配内…

    other 2023年5月9日
    00
  • CentOS 6.8 安装vsftpd的方法步骤

    下面是 CentOS 6.8 安装 vsftpd 的方法步骤的详细攻略: 安装 vsftpd 使用 SSH 登录 CentOS 6.8 的服务器。 执行以下命令以更新系统软件包: sudo yum update 执行以下命令以安装 vsftpd: sudo yum install vsftpd 安装完成后,使用以下命令启动 vsftpd 服务: sudo s…

    other 2023年6月27日
    00
  • GO 语言运行环境的基础知识

    GO 语言运行环境的基础知识攻略 GO 语言是一门编译型语言,需要将源代码编译成二进制文件才能运行。GO 语言的运行环境包括以下几个主要的组成部分: 1. GO 语言编译器 GO 语言编译器是将程序源代码编译成机器码的主要工具,它负责检查代码语法、执行代码优化以及生成可执行文件。GO 语言的编译器工具包括: go build:用于编译源代码为二进制文件的命令…

    other 2023年6月27日
    00
  • php获得用户ip地址的比较不错的方法

    获取用户的IP地址是在Web开发中常见的需求之一。在PHP中,有几种方法可以获得用户的IP地址。下面是两种比较常用的方法: 方法一:使用$_SERVER全局变量 PHP的$_SERVER全局变量包含了与服务器相关的信息,其中就包括了用户的IP地址。可以通过$_SERVER[‘REMOTE_ADDR’]来获取用户的IP地址。 示例代码如下: <?php …

    other 2023年7月30日
    00
  • linuxos

    LinuxOS:开源操作系统的代表 LinuxOS是一类开源操作系统的集合体,最初由Linus Torvalds开发。LinuxOS的发行版与商业厂商的相互结合,为开源社区提供了安全可靠且自由的操作系统。 LinuxOS的特点 作为开源操作系统的代表,LinuxOS具有以下特点: 免费: LinuxOS是免费操作系统,它不需要购买授权也可以在任何地方自由分发…

    其他 2023年3月29日
    00
  • 判断数据库web是否分离的技巧

    判断数据库Web是否分离的技巧有以下几个方面: 查看数据库连接字符串 首先,判断Web是否连接了数据库,可以查看Web应用程序的连接字符串。该连接字符串通常存储在Web.config或app.config文件中,表示应用程序与数据库之间的通信方式。如果连接字符串中包含IP地址或域名,则表明Web应用程序连接了外部数据库。如果连接字符串中使用的是localho…

    other 2023年6月27日
    00
  • 网易云音乐ip地址在哪看? 网易云音乐查看IP属地的技巧

    网易云音乐IP地址在哪看? 如果你想查看网易云音乐的IP地址,可以使用以下方法: 使用网络工具查找IP地址:你可以使用一些在线的网络工具来查找网易云音乐的IP地址。其中一个常用的工具是ipaddress.com。你只需要在该网站的搜索框中输入music.163.com,然后点击搜索按钮。在搜索结果中,你将看到网易云音乐的IP地址。 使用命令行工具查找IP地址…

    other 2023年7月30日
    00
  • C语言数据结构进阶之栈和队列的实现

    C语言数据结构进阶之栈和队列的实现 什么是栈? 栈是一种数据结构,具有后进先出(LIFO)的特点。这意味着最后插入的数据最先被取出。在栈中,插入和删除数据只发生在一端,称为栈顶(top),另一端称为栈底(bottom)。下面介绍如何使用 C 语言实现栈的基本操作。 栈的基本操作 push:将元素压入栈顶。 pop:将元素从栈顶弹出。 isEmpty:检查栈是…

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