列表和元组可以和整数执行乘法运算,列表和元组乘法的意义就是把它们包含的元素重复 N次-N就是被乘的倍数。
如下代码示范了列表和元组的乘法。
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/01
# @Author : Laopi
tupledemo = ("软件测试划水老师傅",18)
# 执行乘法
mul_tuple = tupledemo*5
print(mul_tuple)#('软件测试划水老师傅', 18, '软件测试划水老师傅', 18, '软件测试划水老师傅', 18, '软件测试划水老师傅', 18, '软件测试划水老师傅', 18)
listdemo = ["软件测试老痞",36,180]
mul_list = listdemo*3
print(mul_list)#('软件测试划水老师傅', 18, '软件测试划水老师傅', 18, '软件测试划水老师傅', 18, '软件测试划水老师傅', 18, '软件测试划水老师傅', 18)
['软件测试老痞', 36, 180, '软件测试老痞', 36, 180, '软件测试老痞', 36, 180]
当然,也可以对列表、元组同时进行加法、乘法运算。例如,把用户输入的日期翻译成英文表示形式一就是添加英文的“第”后缀。对于1、2、3 来说,英文的“第”后缀分别用st、nd、rd代表,其他则使用th 代表。
为此,可使用如下代码来完成该转换
#同时对元组使用加法、乘法
order_endings = ('st','nd','rd')+('th',)*17+('st','nd','rd')+('th',)*7+('st',)
#将会看到st,nd,rd,17个th,st,nd,rd,7个th,st
print(order_endings)#('st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'st')
day = input("输入日期(1-31):")
#将字符串转成整数
dayint = int(day)
print(day+order_endings[dayint-1])
上面第二行代码同时对(th,元组使用了乘法,再将乘法得到的结果使用加法连接起来,最终
得到一个元组,该元组共有 31个元素。可能有读者对(th)这种写法感到好奇,此处明明只有一个元素,为何不省略逗号?这是因为(th)只是字符串加上圆括号,并不是元组,也就是说,(th)和h是相同的。为了表示只有一个元素的元组,必须在唯一的元组元素之后添加英文逗号。
运行上面程序,可以看到如下运行结果。
输入日期(1-31):2727th
从上面的运行结果可以看出,用户输入27,程序通过元组为27添加了“t”后缀