7.1 元组的一些概念
7.1.1 元组的基本定义
元组用于在单个变量中存储多个项目。元组 是 Python 中用于存储数据集合的 4 种内置数据类型之一,其他 3 种是列表、集合和字典,它们具有不同的性质和用法。元组是一个集合是有序的和不可改变的。元组是用圆括号写的。 基本形式如下:
mytuple = ("hg一号", "hg二号", "hg三号")
print(mytuple)
也可以使用tuple()来创建元组,形式如下:
tuple5 = tuple(("hg一号", "hg二号", "hg三号", "hg三号"))
print(tuple5)
元组项是有序的、不可更改的,并允许重复值。元组项被索引,第一项被索引[0],第二项被索引[1]等。区别列表无序,可以更改。 (1)允许重复举个例子:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号")
print(mytuple)
(2)索引举个例子
mytuple = ("hg一号", "hg二号", "hg三号")
print(mytuple[0])
7.1.2 元组的长度
(1)我们还是跟列表一样,用到len函数,例子如下:
mytuple = ("hg一号", "hg二号", "hg三号")
print(len(mytuple))
(2)一项元组,记住逗号,不然就不是元组了!我将两个形式读写出来,可以做一个对比:
mytuple = ("hg一号", )
print(type(mytuple))
mytuple = ("hg一号")
print(type(mytuple))
7.1.2 数据类型
元组项可以是任何数据类型:字符串、整数和布尔数据类型.
tuple1 = ("hg一号", "hg二号", "hg三号", "hg三号")
tuple2 = (1, 8, 5, 9, 3)
tuple3 = (True, False, False)
7.2 元组的“查”
7.2.1 正常访问
可以通过引用方括号内的索引号来访问元组项,比如打印第二项:
mytuple = ("hg一号", "hg二号", "hg三号")
print(mytuple[0])
注意:第一项的索引为 0。
7.2.2 负索引
负索引意味着从头开始。-1指最后一项, -2指倒数第二项等。 例如打印元组的最后一项:
mytuple = ("hg一号", "hg二号", "hg三号")
print(mytuple[-1])
7.2.3 范围性索引
(1)您可以通过指定范围的开始和结束位置来指定索引范围。指定范围时,返回值将是具有指定项的新元组。这里我们用到range函数,前面讲过。 返回第三、第四和第五项:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
print(mytuple[2:5])
注意:搜索将从索引 2(包括)开始并在索引 5(不包括)处结束。 请记住,第一项的索引为 0。
(2)通过省略起始值,范围将从第一项开始:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
print(mytuple[:4])
(3)通过省略结束值,范围将继续到列表的末尾:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
print(mytuple[2:])
(4)负数范围:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
print(mytuple[-4:-1])
(5)检查项目值是否存在: 要确定元组中是否存在指定的项目,请使用in关键字:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
if "hg五号" in thistuple:
print("哈哈, hg五号在元祖列表")
7.3 元组的“改”
元组是不可更改的,这意味着一旦创建了元组,您就无法更改、添加或删除项目。但是有一些解决方法:将元组转换为列表,更改列表,然后将列表转换回元组。
7.3.1 替换
比如我要将下面第二个元素改为帅哥:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
y = list(x)
y[1] = "帅哥"
x = tuple(y)
print(x)
7.3.2 添加项目值
由于元组是不可变的,它们没有内置 append()方法,但有其他方法可以向元组添加项。
(1)转换为列表:就像更改元组的解决方法一样,您可以将其转换为列表,添加您的项目,然后将其转换回元组。 例如:将元组转换为列表,添加“爱你”,然后将其转换回元组:
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
y = list(mytuple)
y.append("爱你")
mytuple = tuple(y)
print(mytuple)
(2)将元组添加到元组。您可以向元组添加元组,因此如果您想添加一个(或多个)项目,请使用该项目创建一个新元组,并将其添加到现有元组中。 例如:创建一个值为“orange”的新元组,并添加该元组
mytuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
y = ("爱你",)
thistuple += y
print(mytuple)
注意:创建只有一个item的元组时,记得在item后面加上逗号,否则不会被识别为元组(字符串)。
7.3.3 删除项目
注意:您不能删除元组中的项目。元组是不可更改的,因此您无法从中删除项目,但您可以使用与我们用于更改和添加元组项目相同的解决方法:
示例 将元组转换为列表,删除“apple”,然后将其转换回元组:
thistuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
y = list(thistuple)
y.remove("hg一号")
thistuple = tuple(y)
print(thistuple)
或者您可以完全删除元组:该del关键字可以完全删除的元组
this = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
del this
7.3.4 解包元组
(1)当我们创建一个元组时,我们通常会为其分配值。这称为“打包”元组。 包装元组:
fruits = ("apple", "banana", "cherry")
print(fruits)
(2)但是,在 Python 中,我们也可以将值提取回变量中。这称为“解包”。 解包元组:
fruits = ("apple", "banana", "cherry")
(green, yellow, red) = fruits
print(green)
print(yellow)
print(red)
(3)使用星号* 如果变量的数量少于值的数量,您可以*在变量名中添加一个,值将作为列表分配给变量。 将其余值分配为名为“red”的列表:
fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")
(green, yellow, *red) = fruits
print(green)
print(yellow)
print(red)
如果星号被添加到另一个变量名而不是最后一个,Python 将为变量赋值,直到剩余的值数量与剩余的变量数量匹配。 添加值列表“tropic”变量:
fruits = ("apple", "mango", "papaya", "pineapple", "cherry")
(green, *tropic, red) = fruits
print(green)
print(tropic)
print(red)
7.4 循环元组
7.4.1 遍历元组
也就是遍历元组的意思,只要我们提到遍历,那就是for循环。 (1)方法一:直接遍历 例子如下:遍历项目并打印值
thistuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
for i in thistuple:
print(i)
(2)方法二: 遍历索引号 使用range()和len()函数创建合适的可迭代对象。
thistuple =("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
for i in range(len(thistuple)):
print(thistuple[i])
(3)使用 While 循环
thistuple = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
i = 0
while i < len(thistuple):
print(thistuple[i])
i = i + 1
7.5 元组合并
7.5.1 合并用+连接
tuple1 = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)
7.5.2 重复元组内容可以使用* 运算符:
tuple1 = ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
tuple4=tuple1*2
print(tuple4)
7.5.3 count函数用于返回指定值次数:
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
x = thistuple.count(5)
print(x)
7.5.4 index()找出指定值并返回它的位置:
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
x = thistuple.index(8)
print(x)
练习题
Q1-使用正确的语法打印fruits元组中的第一项
fruits = ("apple", "banana", "cherry")
print(fruits[0])
Q2-使用正确的语法打印fruits元组中的项目数。
fruits = ("apple", "banana", "cherry")
i=0
while i<len(fruits):
print(fruits[i])
i+=1
Q3-使用负索引打印元组中的最后一项。
fruits = ("apple", "banana", "cherry")
print(fruits[-1])
Q4-使用一系列索引打印元组中的第三、第四和第五项。
fruits = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(fruits[2:5])
answer都经过python调试。
-
https://chuanchuan.blog.csdn.net/article/details/120419754?spm=1001.2014.3001.5502 -
用Python玩转数据——中国大学mooc
|