Python列表与元组的异同详解

Python列表与元组的异同详解

异同点说明

Python中,列表(List)和元组(Tuple)都是用来存储一系列有序数据的容器,二者区别如下:

  1. 列表是可变的,而元组是不可变的;
  2. 元组使用小括号“()”来定义,而列表使用方括号“[]”来定义;
  3. 元组中只包含一个元素时需要在元素后面加“,”以避免被当做单个元素的类型。

简而言之,列表和元组都是用来存储一组数据,唯一的不同之处是元组是不可变的。

列表与元组的操作

创建列表和元组

# 创建列表
list1 = [1, 2, 3, 4, 5]
# 创建元组
tuple1 = (1, 2, 3, 4, 5)

访问列表和元组中的元素

# 访问列表中的元素
print(list1[0]) #输出1
# 访问元组中的元素
print(tuple1[0]) #输出1

修改列表中的元素

# 修改列表中的元素
list1[0] = 0
print(list1) #输出[0, 2, 3, 4, 5]

元组中的元素不可修改

# 修改元组中的元素
tuple1[0] = 0
# 产生TypeError错误,元组的元素不可修改

获取列表和元组的长度

# 获取列表的长度
print(len(list1)) #输出5
# 获取元组的长度
print(len(tuple1)) #输出5

判断元素是否存在于列表与元组中

# 判断列表是否包含指定元素
print(2 in list1) #输出True
# 判断元组是否包含指定元素
print(2 in tuple1) #输出True

列表和元组的拼接

# 列表与列表的拼接
list2 = [6, 7, 8]
print(list1 + list2) #输出[0, 2, 3, 4, 5, 6, 7, 8]
# 元组与元组的拼接
tuple2 = (6, 7, 8)
print(tuple1 + tuple2) #输出(1, 2, 3, 4, 5, 6, 7, 8)

列表与元组的重复

# 列表的重复
print(list1 * 2) #输出[0, 2, 3, 4, 5, 0, 2, 3, 4, 5]
# 元组的重复
print(tuple1 * 2) #输出(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)

列表元素的删除

# 删除列表中指定的元素
list1.remove(0)
print(list1) #输出[2, 3, 4, 5]

# 删除列表中指定位置的元素
del list1[0]
print(list1) #输出[3, 4, 5]

# 删除整个列表
del list1

元组的使用场景

元组更适合表示不可变的事物,例如星期、月份、坐标等:

weekdays = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
coordinates = (37.7749, -122.4194)

示例说明

列表的排序与反转

# 列表的排序
list3 = [4, 3, 1, 5, 2]
list3.sort()
print(list3) #输出[1, 2, 3, 4, 5]

# 列表的反转
list4 = [1, 2, 3, 4, 5]
list4.reverse()
print(list4) #输出[5, 4, 3, 2, 1]

元组的多重赋值

# 多重赋值
tuple3 = (1, 2, 3)
a, b, c = tuple3
print(a, b, c) #输出1, 2, 3

总结

Python中,列表和元组都是非常常用的数据容器,具有不同的特性和适用场景。列表可以修改元素,更适合一些需要动态修改的场景,而元组更适合表示不可变的事物。在日常的代码开发中,充分使用列表和元组的特性,可以大大提高代码的效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python列表与元组的异同详解 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python转换摩斯密码示例

    这里我为你提供一份“python转换摩斯密码示例”的完整攻略,包括两条示例说明: 示例一:转换单词 首先需要导入所需的库: python import string 接下来需要定义摩斯密码表,为方便起见,我们可以先将英文字母和对应的摩斯密码用字典方式保存: python morse_dict = { ‘a’: ‘.-‘, ‘b’: ‘-…’, ‘c’: …

    python 2023年6月5日
    00
  • django model 条件过滤 queryset.filter(**condtions)用法详解

    下面我来详细讲解一下“django model 条件过滤 queryset.filter(**condtions)用法详解”的完整攻略。 一、什么是django model? Django是一个流行的Web框架,提供了一个称为ORM(对象关系映射)的工具。ORM可以让你用Python代码操作数据库,而不是写SQL语句。Django的ORM叫做Django m…

    python 2023年5月18日
    00
  • Python 网页解析HTMLParse的实例详解

    Python网页解析HTMLParse的实例详解 在本文中,我们将介绍Python中的HTML解析模块HTMLParser的实例。HTMLParser是Python标准库中的一个模块,用于解析HTML文档。我们将介绍HTMLParser的基本用法,包括如何使用HTMLParser类解析HTML文档,以及如何使用回调函数处理HTML标签和数据。我们还将提供两个…

    python 2023年5月15日
    00
  • Python实现计算字符串中出现次数最多的字符示例

    下面是我对Python实现计算字符串中出现次数最多的字符的完整攻略。 一、题目描述和分析 题目描述:计算给定字符串中出现次数最多的字符,并输出该字符出现的次数。 分析:对于计算字符串中出现次数最多的字符,可以用Python中内置的字典(dict)来实现。具体来说,首先遍历字符串中的每个字符,然后将字符作为键,该字符出现的次数作为值存储到字典中。最后,再遍历字…

    python 2023年6月5日
    00
  • Python密码学概述双倍强度加密教程

    下面是Python密码学概述双倍强度加密教程的完整攻略,包括了基本概念、双倍强度加密的实现方法以及两个示例。 基本概念 密码学是一门研究如何保证信息安全的学科,主要涉及到加密算法、解密算法和密钥管理,其中密钥是加密解密的关键。 双倍强度加密是一种保护数据安全的强大技术,它将一个密钥与另一个密钥结合起来,产生更高的安全性。 双倍强度加密的实现方法 Python…

    python 2023年5月14日
    00
  • python放大图片和画方格实现算法

    下面是针对“python放大图片和画方格实现算法”的攻略。 放大图片 如果要放大一张图片,可以使用pillow库的Image模块,通过resize()方法将图片放大到目标尺寸。 from PIL import Image # 打开原始图片并放大到目标尺寸 image = Image.open("原始图片路径") target_size =…

    python 2023年5月18日
    00
  • 详细介绍Python中的set集合

    详细介绍Python中的set集合 简介 set是Python的一种数据结构,类似于数学中的集合概念。set中可以存储多个元素,但每个元素必须是唯一的,即不能出现重复元素。 set是无序的,不能通过下标进行访问,但是可以遍历set中所有元素。 set可以进行交集、并集、差集等操作,是处理相同数据的好工具。 创建set 可以通过以下两种方式创建set: 直接创…

    python 2023年5月13日
    00
  • 10行Python代码助你整理杂乱无章的文件

    下面是“10行Python代码助你整理杂乱无章的文件”的完整攻略: 介绍 有时候我们的电脑中会存在着大量杂乱的文件,这些文件名字不规范,文件格式混乱,给我们的使用带来非常大的不便。本文旨在介绍如何使用Python代码,将大量杂乱无章的文件整理成为有规律、有序的文件夹。 步骤 1. 导入必要的库 使用Python进行文件操作的时候,需要导入os和shutil库…

    python 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部