Python 元组(tuple)是什么?和列表(list)有什么区别?

Python 元组(tuple)是什么?和列表(list)有什么区别?

元组(tuple)与列表(list)的区别

Python中的元组(tuple),其实也是一种序列。

它和列表(list)大体相同,都是由一系列元素排列组成。不同的是,列表中的元素支持新增、修改、删除,是可变序列;而元组不允许新增、修改、删除其中的元素,是不可变序列。

所以,元组比列表更加稳定,一般用来保存无需变更的内容。

Python 元组的语法格式为:(元素1,元素2,元素3...)。

其中元素的数据类型没有限制,可以是整数、字符串、列表、布尔,甚至是元组等任何类型的数据。比如:("pythonjishu.com",1,['a','b'],True,('abcd',100)),这样也是可以的。

Python 元组的创建方式

元组的创建方式有两种,第一种是使用英文括号"()创建,另外一种是使用Python自带的tuple函数创建。

使用()创建

此方法很简单,语法格式为:变量名 = (元素1,元素2,元素3...)。

例如:


number = (1,2,3,4,5)
str1 = ('Python教程','Python技术站','http://www.pythonjishu.com')

以上写法都是正确的。

另外,定义元组变量时,也可以省略掉小括号"()",元素之间用逗号隔开。比如:

str2 = "Python技术站","http://www.pythonjishu.com"
print(str2)

输出结果为:

('Python技术站', 'http://www.pythonjishu.com')

需要注意的是,如果定义的元组只有一个元素,那么该元素后面必须加一个逗号,否则Python解释器会将其视作字符串类型:

#带逗号
site = ('http://www.pythonjishu.com',)
print(site)

#不带逗号
site2 = ('http://www.pythonjishu.com')
print(site2)

输出结果为:

('http://www.pythonjishu.com',)
http://www.pythonjishu.com

使用tuple()函数创建

第二种创建元素的方法为使用内置函数tuple()。

tuple()的语法格式为:tuple(参数值)。

tuple函数的参数值可以是字符串、元组、列表等对象,tuple函数会将其转换为元组。

例如:

#字符串转换为元组
tup1 = tuple('python')
print(tup1)

#列表转换为元组
tup2 = tuple(['a','b','c','d'])
print(tup2)

#创建空元组
tup3= tuple()
print(tup3)

输出结果为:

('p', 'y', 't', 'h', 'o', 'n')
('a', 'b', 'c', 'd')
()

Python 访问元组元素

同列表一样,元组的访问可以使用索引方式,也可以使用切片方式访问。

使用索引访问元组元素的语法格式为:元组变量[索引值]。

使用切片访问元组元素的格式为:元组变量[起始索引值:结束索引值]。

举例说明:


url = tuple("http://www.pythonjishu.com")

#使用索引访问
print(url[9])

#使用切片访问
print(url[3:10])

输出结果为:

w
('p', ':', '/', '/', 'w', 'w', 'w')

Python 新增、修改元组

上文我们已经说过,元组是不可变序列,元组中的元素不能被直接修改,但我们可以间接地进行修改。

例如,我们可以对元组变量重新进行赋值,如下:

tup1 = tuple((1,2,3,4,5))
print(tup1)

tup1 = tuple(('a','b','c','d'))
print(tup1)

运行结果为:

(1, 2, 3, 4, 5)
('a', 'b', 'c', 'd')

另外,我们可以使用“+”加号连接两个元组,使其拼接为一个元组。例如:

tup1 = (1,2,3)
tup2 = (3.14,0.25,5.99)

print(tup1+tup2)

运行结果为:

(1, 2, 3, 3.14, 0.25, 5.99)

Python 删除元组

Python中可以使用关键字 del 删除元组,比如:

tup1 = ('Python技术站','http://www.pythonjishu.com')
print(tup1)
del tup1
print(tup1)

运行结果为:

('Python技术站', 'http://www.pythonjishu.com')
Traceback (most recent call last):
File "C:/Users/Lenovo/AppData/Local/Programs/Python/Python311/demo/demo1.py", line 4, in
print(tup1)
NameError: name 'tup1' is not defined. Did you mean: 'tuple'?

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 元组(tuple)是什么?和列表(list)有什么区别? - Python技术站

(0)
上一篇 2023年1月29日 下午12:00
下一篇 2023年2月14日 下午8:58

相关文章

  • Python函数关键字参数详解

    在Python函数中,关键字参数是一种通过参数名称传递值的方法,而不是按照参数在函数定义中的顺序进行传递。使用关键字参数可以使代码更具可读性,并且可以方便地忽略函数定义中的一些参数。以下是Python函数关键字参数的用法: 定义函数时使用关键字参数 在定义函数时,可以使用关键字参数来指定函数参数的默认值。这样,在调用函数时,如果没有传递参数,则使用默认值。例…

    2023年2月20日
    00
  • 如何创建并导入 Python 包?

    Python中的包(Package)是一种组织Python模块的方式,用于更好地组织和管理模块。本质上,包就是一个文件夹,它包含一组模块和一个名为init.py的文件,该文件必须存在于包的根目录下,以指示该文件夹是一个Python包。 下面介绍如何创建和导入Python包: 创建Python包 创建Python包的步骤如下: 创建一个文件夹,并将其命名为包名…

    2023年2月25日
    00
  • 详解Python中复数类型的创建、比较与运算!

    Python 是一门支持复数运算的编程语言,复数(Complex)是由实数和虚数部分组成的数学概念,其常用表示形式为 $a + bj$,其中 a 表示实部,b 表示虚部,复数的虚部以 j 或者 J 作为后缀。 Python 中的复数类型支持常见的数学运算,如加、减、乘、除和幂运算。 Python创建复数的两种方式 Python 中的复数类型可以使用内置函数 …

    2023年2月23日
    00
  • Visual Studio Code安装教程

    Visual Studio Code,简称VS Code,是由微软公司开发的一款IDE工具。 所谓的IDE,其实是集成开发环境(英文的缩写)。有关IDE的更多内容,可参考此文章。 VS Code是一个轻量型的开发工具,拥有强大的插件库。只要你安装了合适的插件,就可以使用任何编程语言开发程序。 不仅如此,VS Code还支持跨平台开发程序,可以安装在Windo…

    2022年11月4日
    00
  • 给Python list列表添加元素

    Python给list列表添加元素的函数有:append()、extend()、insert()。其中append()和extend()在list列表末尾追加元素,insert()在list列表任意位置插入元素。以下是三者的具体区别:

    2023年1月20日
    00
  • Python 8种常见的异常类型与原因

    总的来说,编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误。 语法错误。语法错误,也就是解析代码时出现的错误。当代码不符合 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法错误。一般来说,这种错误IDE是可以检测出来并进行提示的,所以这种错误比较容易发现。 运行时错误。即程序在语法上都是正确的,但在…

    2023年2月26日
    00
  • Python assert断言关键字的作用与用法

    assert是Python中的一个断言语句,用于检查某个特性条件是否为真。 它一般用于调试程序,当程序中有错误时可以快速地检测到。当条件不为真时,assert语句将抛出一个AssertionError异常。 assert语句的语法格式如下: assert condition, message 其中,condition是要检查的条件,如果为假则抛出异常;mes…

    2023年2月16日
    00
  • Python获取异常信息sys.exc_info()函数详解

    在 Python 中,sys.exc_info() 方法用于获取当前线程最后一个引发异常的相关信息。 它返回一个包含三个元素的元组 (type, value, traceback),分别表示引发的异常类型、异常对象和异常的堆栈跟踪对象。如果没有异常被引发,则返回 (None, None, None)。 下面是 sys.exc_info() 方法的使用示例: …

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