1. 元组的定义:
元组的创建只需要在括号()中添加元素即可创建元组,元素之间是有逗号(,)分隔开。
元组()与列表[]相似,不同之处在于列表是可变对象,而元素是不可变对象,即元组一旦创建之后,其元素不可以再修改。
2. 创建元组
创建一个空元组: tup = ()
创建一个只有一个元素的元组: tup = (1, ) # 这个逗号不能省略,否则创建的不是元素
创建一个含有多个元素的元素: tup = (1, 2, 3, 4, 5)
注意:元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
元组的元素也可以是一个列表
例如:tup = (1, 2, 3, [100, 200, 300])
3. tuple函数:
tuple()函数的功能和list()函数基本上一样,都是以一个序列作为参数,并把它转换为元组。如果参数是元组,参数就好呗原样返回。
例如:
tuple([1, 2, 3]) => 结果:(1, 2, 3)
tuple('hello') => 结果:('h','e', 'l', 'l', 'o')
tuple(('hello', 'world')) => 结果:('hello', 'world')
4. 元组的基本参数
(1)访问元组
可以使用下标索引来访问元组中的值。元组的索引下标从0开始
例如: num = (2, 4, 6, 8, 10)
print(num[1]) => 结果: 4
print(num[1:4]) => 结果:4, 6, 8
(2)修改元组
元组是不可变对象,不允许对元组中的元组进行修改,但是可以对元组进行连接组合
例如:tup1 = (1, 3, 5, 7, 9)
tup2 = (2, 4, 6, 8, 10)
print(tup1 + tup2) => 结果:(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
(3)删除元组
元组是不可变对象,元组中的元素值不允许删除,但是可以使用del语句来删除整个元组。
例如:tup = (1, 2, 3, 4)
del tup
print(tup) => 将会抛出错误异常
(4)元组索引、截取(索引下标从0开始)
元组是一个序列,因此可以根据索引来访问元组中指定位置的元素,也可以来截取索引中的一部分元素。
例如:str = ('a', 'b', 'c', 'd', 'e', 'f')
str[0] => 结果: 'a'
str[4] => 结果: 'e'
str[1:4] => 结果:('b', 'c', 'd')
5. 元组运算符
(1)元组与字符串一样,可以使用加号(+)进行连接组合和使用乘号(*)进行复制操作,运算后将会得到一个新的元组。
例如:
tup1 = (1, 2, 3, 4, 5)
tup2 = ('a', 'b', 'c')
tup1+tup2 => 结果:(1, 2, 3, 4, 5, 'a', 'b', 'c')
tup2*3 => 结果:('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
(2) in 判断某个元素是否在序列中,在就返回True,不在就返回False
3 in (1, 2, 3, 4) => 结果:True
not in 判断某个元素是否不在序列中,不在就返回True, 在就返回False
3 not in(1, 2, 3, 4) => 结果: False
6. 元组与列表的区别
(1)元组与列表的区别在于列表是可变对象,而元组是不可变对象,元组的元素不能修改,元组一旦初始化就不能修改。
(2)元组不可变,所以元组更安全。
(3)元组的元素可以是列表,列表的元素也可以是元组,例如:
list = [1, 2, 3, 4, (10, 20, 30, 40)]
tuple = (1, 2, 3, [100, 200, 300])
(4)元组的“不变”是指元组的每个元素的指向永远不变,如指向'a'就不能改成指向'b',指向一个list就不能指向其他对象,但指向的list列表本身是可变的。
代码示例:#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author : liuhefei
# Time : 2019/11/30
# desc: Python函数类型之元组
if __name__ == "__main__":
# 创建元素
tup = () # 创建一个空元组
tup1 = (1, ) # 创建一个只包含一个元素的元组
tup2 = (1, 2, 3, 4, 5) # 创建一个包含多个元素的元组
tup4 = (1, 2, 3, [100, 200, 300]) # 元组的元素也可以是一个列表
print(tup)
print(tup1)
print(tup2)
print(tup4)
print(type(tup)) # 查看tup的类型
# 元组的基本操作
# 访问元组
num = (1, 2, 3, 4, 5, 6, 7)
print("num[0] = ", num[0])
print("num[4] = ", num[4])
# print("num[10] = ", num[10]) 将会报错,索引越界
# 修改元素
# 元组是不可变对象,不允许修改它的元素
#num[0] = 100 # 将会报错
# 对元组进行连接操作
str = ('a', 'b', 'c')
print("num与str连接:", num+str)
# 删除元素
tup3 = ('我', "和", "你")
print(tup3)
del tup3 # 删除
#print(tup3) # 将会报错
# 元组索引、截取
field = ('Java', "Html", "CSS", "python", 'golang', "JavaScript", "vue.js")
print("filed[3] = ", field[3]) # 获取第三个元素
print("filed[-3] = ", field[-3]) # 反向读取,读取倒数第三个元素
print("field[2:] = ", field[2:]) # 截取元素,从第2个元素开始后的所有元素
print("filed[1:5] = ", field[1:4]) # 截取元素,截取索引值为1到5之间的元素,不包含索引为4的元素
# 元组运算符
num1 = (1, 3, 5, 7, 9)
num2 = (2, 4, 6, 8, 10)
# 元组连接操作
print("num1 + num2 = ", num1+num2)
# 元素复制操作
print("num1 * 3 = ", num1 * 3)
# in 操作
print("3 in num1 = ", 3 in num1)
# not in 操作
print("3 not in num2 = ", 3 not in num2)
元组函数:
1. len(tuple): 用于计算元组元素的个数(内置函数)
2. max(tuple): 用于返回元组中元素的最大值(内置函数)
3. min(tuple): 用于返回元组中元素的最小值(内置函数)
4. tuple(seq): 该函数用于将列表转化为元组(内置函数)
代码示例:#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author : liuhefei
# Time : 2019/11/30
# desc: Python元组函数
if __name__ == "__main__":
tup = ('Java', "Html", "CSS", "python", 'golang', "JavaScript", "vue.js")
num = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
# len(tuple): 用于计算元组元素的个数(内置函数)
print("len(tup) = ", len(tup))
print("len(num) = ", len(num))
# max(tuple): 用于返回元组中元素的最大值(内置函数)
print("max(tup) = ", max(tup))
print("max(num) = ", max(num))
# min(tuple): 用于返回元组中元素的最小值(内置函数)
print("min(tup) = ", min(tup))
print("min(num) = ", min(num))
# tuple(seq): 该函数用于将列表转化为元组(内置函数)
list = ["天国虽美", "没有了你", "万杯觥筹", "只不过是", "提醒寂寞罢了"]
print("tuple(list) = ", tuple(list))
print("tuple(num) = ", tuple(num)) # 参数是元组,原样输出
str = tuple("一个人的武林") # 参数是字符串,转化为元素
print("str = ", str)
str1 = tuple("success")
print("str1 = ", str1)
结束语:2019即将结束了,你是否还在依旧坚持自己的梦想呢?