学习python的数据类型——元组

一、学习python数据类型-元组

1、元组
  • 定义:()内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素。

  • 元组的特点:

    1、可存放多个值;
    2、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序;
    3、不可修改指定索引位置对应的值,不可变。

1.1、元组的创建,可参考如下方式:
### 方式一:
In [32]: students = ("小花",1,2,3,4,"jj","ll","ff",3,8,9)
In [33]: students
O≥ut[33]: ('小花', 1, 2, 3, 4, 'jj', 'll', 'ff', 3, 8, 9)
### 方式二:
In [34]: teachers = tuple(("gg","ff","zz",4,6,8,9,20))
In [35]: teachers
Out[35]: ('gg', 'ff', 'zz', 4, 6, 8, 9, 20)
1.2、元组的常规方法,索引、切片、循环、长度、包含等
1.2.1、索引,主要通过索引取出特定的值
In [32]: students = ("小花",1,2,3,4,"jj","ll","ff",3,8,9)
In [37]: students[2]
Out[37]: 2
In [38]: students[7]
Out[38]: 'ff'
######## 如果取一个超出下标的值会有提示 ########
In [39]: teachers[8]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-39-22964f3852b0> in <module>
----> 1 teachers[8]

IndexError: tuple index out of range
1.2.2、切片,可以看做将一块面包切成很多块面包,公式为:tupleName[start : end : step],示例如下:
In [47]: teachers
Out[47]: ('gg', 'ff', 'zz', 4, 6, 8, 9, 20)
In [46]: teachers[2:9]
Out[46]: ('zz', 4, 6, 8, 9, 20)
In [48]: teachers[1:20]			# 虽然末尾超出了teacher元组的下标,但是不会报错
Out[48]: ('ff', 'zz', 4, 6, 8, 9, 20)
In [49]: teachers[-1:]			# 切片从左到右,因此只有20这一个元素
Out[49]: (20,)
In [50]: teachers[:-1]
Out[50]: ('gg', 'ff', 'zz', 4, 6, 8, 9)
In [51]: teachers[::-1]			# 反转
Out[51]: (20, 9, 8, 6, 4, 'zz', 'ff', 'gg')
In [52]: teachers[2:5:-1]
Out[52]: ()
In [53]: teachers[2:-1:-1]
Out[53]: ()
In [54]: teachers[2:-1:1]
Out[54]: ('zz', 4, 6, 8, 9)
In [62]: teachers[-4:2:1]
Out[62]: ()
1.2.3、长度,使用len()方法实现,示例如下:
In [47]: teachers
Out[47]: ('gg', 'ff', 'zz', 4, 6, 8, 9, 20)
In [63]: len(teachers)
Out[63]: 8
1.2.4、通过元素取下标,使用.index()函数,示例如下:
In [47]: teachers
Out[47]: ('gg', 'ff', 'zz', 4, 6, 8, 9, 20)
In [64]: teachers.index("zz")
Out[64]: 2
In [65]: teachers.index(20)
Out[65]: 7

1.2.5、计算一个元素在这个元组中出现的次数,使用.count()函数,示例如下:
In [47]: teachers
Out[47]: ('gg', 'ff', 'zz', 4, 6, 8, 9, 20)
In [66]: teachers.count("gg")
Out[66]: 1
In [67]: teachers.count(8)
Out[67]: 1

1.2.6、判断一个元素是否在某个元组中,使用in关键字,示例如下:
In [47]: teachers
Out[47]: ('gg', 'ff', 'zz', 4, 6, 8, 9, 20)
In [68]: print("gg" in teachers)
True
In [69]: print("mm" in teachers)
False
1.2.7、循环元组,使用for循环,示例如下:
In [72]: for i in teachers:
    ...:     print(i, end=" ")
gg ff zz 4 6 8 9 20 
1.3、元组与列表之间的相互转换,按照如下示例进行转换:
1.3.1、将元组转换为列表,使用list()方法,示例如下:

❗️⚠️❗️ 如果题目要求要修改元组中的元素,可以通过如下方法实现,即
😊 step1:先将元组转换为列表
😊 step2:修改元素
😊 step2:再将列表转换成元组

In [74]: type(teachers)
Out[74]: tuple
In [75]: teachers = list(teachers)
In [76]: type(teachers)
Out[76]: list
1.3.2、将列表转换为元组,使用tuple()方法,示例如下:
In [77]: list1 = [1,4,6,1,3,4,4,"ww","vv","ww"]
In [78]: type(list1)
Out[78]: list
In [79]: list1 = tuple(list1)
In [80]: type(list1)
Out[80]: tuple
1.4、元组的其他特性
In [82]: st =(1,2,3,4,5,65,6,7)
In [83]: sum(st)			# 对纯数字的元组进行求和操作
Out[83]: 93
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值