元组(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函数会将其转换为元组。
例如:
#字符串转换为元组 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技术站热门推荐:
PDF电子发票识别软件,一键识别电子发票并导入到Excel中!
10大顶级数据挖掘软件!
人工智能的十大作用!
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)有什么区别?的详细内容...