Python零基础入门之第二章 Python数据结构(二.元组)

第二章 Python数据结构(二.元组)

分享吴军《格局》里面的一句话,激励大家好好学习,“很多时候,我们从能力到主动性都是有限的,在一个舒适的环境下必然懒惰,在一个没有竞争对手的环境中必然自大,然后一步步走向毁灭。”

总目录简介

一 、列表
二、元组(当前位置)
三、字符串
四、字典
五、集合

基本数据类型(比如:整数类型、浮点类型)表示单一数据,而被组合起来的多个数据类型(比如:列表)就是组合数据类型,组合数据类型比单一数据更快捷、高效、灵活,下面是这两种数据的对比,同样的效果,不一样的代码。

#单一数据
s1 = 1
s2 = 2
s3 = 3
sum1 = s1+s2+s3
print(sum1)

#组合数据 
mylist = [1,2,3]
sum2 = sum(mylist)#调用列表中的函数
print(sum1)

下图是组合数据的分类
在这里插入图片描述

Python中,序列是最基本的数据结构,是一块用于存放多个值的连续空间,Python中内置了列表、元组、字典、集合、字符串5个常用的序列结构。

二、元组(tuple)

元组(tuple)和列表结构很相似,生成后不可删除或者替换任何数据项,是不可变序列,Python中的元组用圆括号定义,各元素用逗号隔开,可以包含也可以不包含数据,也可以包含多项不同类型的数据。
1.创建
下面以创建普通的元组、空元组、单个元组举例,特别要注意创建单个元组是需要加个逗号生成的才是一个元组
生成的对象可以用type()这函数来

tup1 = (11,22,33,44,55)
tup2 = ()
s1 = (3)#单个数据举例
tup3 = (3,)#加个逗号,避免和单个数据混淆
print(tup1)
print(tup2)
print(s1)
print(tup3)

2.重新赋值 和 删除整个元组
元组创建后,里面的元素是不可以单独修改的,只能对整个元组进行重新赋值,如果要删除,只能整个元组进行删除,删除元组使用关键字del。

tup4 = [1,2,3]
tup4 = [2,4,6,8]#重新赋值
print(tup4)
del tup4 #删除

3.访问元组内部元素
可以用切片实现对元素的定向获取,可以用循环实现对列表元素的遍历

tup5 = [1,2,345]
print(tup5[2])#单个元素访问

#切片获取元素
tup6 = (11,22,33,44,55)
print(tup6[0:4:2])

#遍历
tup7 = (11,22,33,44,55)
for i in tup7:
    print(i)

补充一个知识点:切片
切片格式:对象名称[开始索引:结束索引:步长]
注意:
(1)开始和结束索引是左闭右开的关系 [开始,结束)
(2)三个参数都可以省略,步长省略的时候默认为1,开始省略则默认为0,结束省略则默认为整个对象长度。
(type()这个函数可以查看当前的对象类型,len()这个函数可以查看当前对象长度)

大家可以去复制一下代码自己去观察一下
知识点用例子来呈现

tup8 = (11,22,33,44,55,6,7,8,9)
print(tup8[2])#取第三个元素
print(tup8[-2])#取倒数第二个元素
print(tup8[1:4])#取索引号为1到索引号为3的所有元素
print(tup8[:10])#如果索引长度大于对象本身的长度,系统会默认为是最后一个
print(tup8[1:6][2:3])#逐层切取[1:6]中的[2:3] 最后以元组的形式呈现
print(tup8[1:6][4])#tup8[1:6]中有5个元素
print(tup8[1:6][2:3][0])
#逐层切取[1:6]中的[2:3]得到的元组中的序列号为0的元素
print(tup8[:])#取全部元素
print(tup8[::])#正序取全部元素
print(tup8[::-1])#逆序取全部元素
print(tup8[::2])#取全部偶数索引元素

4.‘元组的运算’

#拼接生成新的元组
tup9=(1,2)
tup10=(3,4)
tup11 = tup9 + tup10


#元组的翻倍
tup12 = (1,2)
tup13 = tup12*3