python元组、列表小练习

224 阅读2分钟

目录

 

1.元组元素求和b=(1,2,3,4,5,6,7,8,9)

2.输出元组内7的倍数及个位为7的数

3.列表倒数a=[123,4567,12,3456] 输出 a = [321, 7654, 21, 6543]


1.元组元素求和b=(1,2,3,4,5,6,7,8,9)

方法一 源码:            

使用sum函数直接求元组内元素之和 

b=(1,2,3,4,5,6,7,8,9)
sum = sum(b)
print(sum)

运行结果:

方法二 源码:

使用for循环遍历元组,使其元素相加

b=(1,2,3,4,5,6,7,8,9)
sum = 0
for i in b:
    sum+=i
print(sum)

运行结果:

2.输出元组内7的倍数及个位为7的数

源码:

利用if语句筛选,用除7余0来筛选7的倍数,用除10余7筛选个位数为7的数

b=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)
for i in b:
    if i%7 ==0 or i%10 ==7:
        print(i)

运行结果:

3.列表倒数 a=[123,4567,12,3456] 输出 a = [321, 7654, 21, 6543]

源码:

数学计算法: 

使用for循环遍历列表,每个元素都是整型,使用while循环,变量ret初始值是0,ret =ret*10+i%10;i//=10,一直循环,直到i小于等于0,这时候原数的最高位已经去了最低位

b = []
a = [123, 4567, 12, 3456]
ret = 0
for i in a:
    while i:
        ret = ret * 10 + i % 10
        i //= 10
    b.append(ret)
    ret = 0
print(b)

运行结果:

源码:

字符串切片法:

for循环遍历列表,str()强制转换为字符串,字符串切片[::-1],倒序输出

a = [123, 4567, 12, 3456]
b = []
for i in a:
    num = str(i)
    s = num[::-1]
    n = int(s)
    b.append(n)
print(b)

运行结果: