DAY 06 冲击蓝桥杯——Python基础06python元组

文章目录

    • 7.1 元组的一些概念
      • 7.1.1 元组的基本定义
      • 7.1.2 元组的长度
      • 7.1.2 数据类型
    • 7.2 元组的“查”
      • 7.2.1 正常访问
      • 7.2.2 负索引
      • 7.2.3 范围性索引
    • 7.3 元组的“改”
      • 7.3.1 替换
      • 7.3.2 添加项目值
      • 7.3.3 删除项目
      • 7.3.4 解包元组
    • 7.4 循环元组
      • 7.4.1 遍历元组
    • 7.5 元组合并
      • 7.5.1 合并用+连接
      • 7.5.2 重复元组内容可以使用* 运算符:
      • 7.5.3 count函数用于返回指定值次数:
      • 7.5.4 index()找出指定值并返回它的位置:
    • 练习题

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)
print(mytuple[0])

7.1.2 元组的长度

(1)我们还是跟列表一样,用到len函数,例子如下:

mytuple =  ("hg一号", "hg二号", "hg三号")
print(len(mytuple))

(2)一项元组,记住逗号,不然就不是元组了!我将两个形式读写出来,可以做一个对比:

mytuple = ("hg一号", )
print(type(mytuple))
# result tuple
mytuple = ("hg一号")
print(type(mytuple))
# result str

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)
print(mytuple[0])

注意:第一项的索引为 0。

7.2.2 负索引

负索引意味着从头开始。-1指最后一项, -2指倒数第二项等。
例如打印元组的最后一项:

mytuple =  ("hg一号", "hg二号", "hg三号")
# print(mytuple)
print(mytuple[-1])

7.2.3 范围性索引

(1)您可以通过指定范围的开始和结束位置来指定索引范围。指定范围时,返回值将是具有指定项的新元组。这里我们用到range函数,前面讲过。
返回第三、第四和第五项:

mytuple =  ("hg一号", "hg二号", "hg三号", "hg三号", "hg三号", "hg五号")
# print(mytuple)
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调试。

  1. https://chuanchuan.blog.csdn.net/article/details/120419754?spm=1001.2014.3001.5502

  2. 用Python玩转数据——中国大学mooc

你可能感兴趣的:(python基础,python,蓝桥杯)