Python基础(3)

您所在的位置:网站首页 python怎么定义一个常量 Python基础(3)

Python基础(3)

2024-05-29 18:49| 来源: 网络整理| 查看: 265

一、元组的定义

元组名 = ( 元素1 , 元素2 , ... ... )

#当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来 >>> tup1 = ('Google', 'Runoob', 1997, 2000) Python 的元组与列表类似,不同之处在于元组的元素一旦初始化就不能修改 ( 因此元组又称为只读列表 )。不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。元组使用小括号 ( ),列表使用方括号 [ ]。元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。 >>> tup1=() >>> type(tup1) #创建空元组 >>> tup2=(50) >>> type(tup2) #不加逗号,类型为整型 >>> tup3=(50,) #加上逗号,类型为元组 >>> type(tup3)

在Python中,很多人认为元组创建需要使用(),其实不然,真正决定元组的形式是逗号。

>>> tup='a','b',1,2 >>> type(tup) 二、元组的基本操作

元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

1、访问元组

元组可以使用下标索引来访问元组中的值,如下实例:

tup1 = ('Google', 'Runoob', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print ("tup1[0]: ", tup1[0]) #读取元组tup1中的第一个元素 print ("tup2[1:5]: ", tup2[1:5]) #截取元素,从tup2中的第二个到第五个元素 运行结果: tup1[0]: Google tup2[1:5]: (2, 3, 4, 5) 2、修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

tup1 = (12, 34.56); tup2 = ('abc', 'xyz') # tup1[0] = 100 这样修改元组元素操作是非法的,会报错(TypeError: 'tuple' object does not support item assignment) # 创建一个新的元组:两个元组连接起来 tup3 = tup1 + tup2 print (tup3) 运行结果: (12, 34.56, 'abc', 'xyz') 3、删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

tup = ('Google', 'Runoob', 1997, 2000) print (tup) del(tup) #删除元组tup print ("删除后的元组 tup : ") print (tup) 运行结果: ('Google', 'Runoob', 1997, 2000) 删除后的元组 tup : Traceback (most recent call last): File "D:\st13\python\1.11\lx.py", line 6, in print (tup) NameError: name 'tup' is not defined 4、元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

len((1, 2, 3))3计算元素个数(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制3 in (1, 2, 3)True元素是否存在

for x in (1, 2, 3):

     print (x)

1

2

3

迭代 5、元组索引,截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

>>> tup1 = ('Google', 'Runoob', 1997, 2000) >>> tup1[2] #读取第三个元素 1997 >>> tup1[-1] #反向读取,读取倒数第一个元素 2000 >>> tup1[1:] #截取元素,从第二个开始后的所有元素。 ('Runoob', 1997, 2000) 5、元组内置函数

5.1> len(tuple) :计算元组元素个数

>>> tup1 = ('Google', 'Runoob', 1997, 2000) >>> len(tup1) 4

5.2> max(tuple) :返回元组中元素最大值

>>> tup2=(5,4,6,1,9) #元素必须为同一类型的数据类型 >>> max(tup2) 9 >>> tup3=('9','3','2','0') >>> max(tup3) '9'

5.3> min(tuple) :返回元组中元素最小值

>>> tup1=(5,4,6,1,9) >>> min(tup1) 1 >>> tup2=('9','3','2','0') >>> min(tup2) '0'

5.4> tuple(seq) :将列表转换为元组

>>> list1 = ['Google', 'Runoob', 1997, 2000] >>> tup1=tuple(list1) >>> print(tup1,type(tup1)) ('Google', 'Runoob', 1997, 2000)

5.5> sum(tuple) :求元组中的元素之和

>>> tup1=(2,4,3,6,7) #元组中的元素必须全部为int或float类型 >>> sum(tup1) 22 6、元组的方法(元组没有列表中的增、删、改的操作,只有查的操作)

6.1> tuple.index(obj):从元组中找出某个值第一个匹配项的索引值

>>> tup1=(1,2,3,5,6,2) >>> tup1.index(2) #2出现了两次,只返回第一个匹配项的索引值 1

6.2> tuple.count(obj): 统计某个元素在元组中出现的次数

>>> tup1=(1,2,3,5,6,2,5,8,3,2,7) >>> tup1.count(2) #统计2出现的次数 3 三、元组的使用实例

下面的代码是判断输入的日期是当年的第几天。将闰年和平年每月的天数分别存入元组tup1、tup2,然后判断查询的年份是平年还是闰年,分别计算天数即可。

year=int(input("请输入需要查询的年:")) month=int(input("请输入需要查询的月:")) day=int(input("请输入需要查询的天:")) tup1=(31,29,31,30,31,30,31,31,30,31,30,31) #闰年 tup2=(31,28,31,30,31,30,31,31,30,31,30,31) #平年 if year%400==0 or (year%4==0 and year%100!=0): #闰年 days=sum(tup1[:month-1]) fin=days+day print(month,"月",day,"日是",year,"年的第",fin,"天") else: days=sum(tup2[:month-1]) fin=days+day print(month,"月",day,"日是",year,"年的第",fin,"天") 运行结果: 请输入需要查询的年:2019 请输入需要查询的月:12 请输入需要查询的天:31 12 月 31 日是 2019 年的第 365 天

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3