元组列表之案例

1.列表推导式

基本语法:

[表达式  for语句1 if 语句1  for语句2  if语句2 ........ ]

1.零到九的平方列表
a = [i*i for i in range(10)]
print(a)

2.for 循环前面加if  else
#如果是偶数乘以2,如果是奇数直接输出
a = [i*2 if i%2 == 0 else i for i in range(20) ]
print(a)

3.for循环后加if
#找出二十以内的偶数
a = [i for i in range(20) if i%2 == 0]
print(a)

4.设计二维数组
#外层是行里层是列
m = [[i+3*j for i in range(1,4)] for j in range(3)]
print(m)

n = [[j for i in range(3)] for j in range(2,5)]
print(n)

5.二维数组的运算

求指定列组成的列表

#取m的第三列组成的列表
L = [ raw[2] for raw in m ]
print(L)

求对角线组成的列表

#求对角线组成的列表
k = [ m[i][i] for i in range(len(m))]
print(k)

求m和n矩阵的乘积

#返回一维结果
l = [m[row][col]*n[row][col] for row in range(3) for col in range(3)]
print(l)

#返回二维结果
j = [[m[row][col] * n[row][col] for col in range(3)] for row in range(3)]
print(j)

2.进制转换

利用栈操作进行进制转换(先进后出,后进先出)

def d2b(num):
    a = []
    b = ""
    while (num>0):
        r = num%2
        a.append(r)
        num = num//2
    while len(a):
        b += str(a.pop())
    return "ob"+ b
print(d2b(60))
print(bin(60))

3.猴子游戏(队列操作)

先进先出,后进后出

#n是有几只猴子,m是第几只猴子被踢出
def f(n,m):
    arr= []
    # 遍历猴子的数量
    for i in range(1,n+1):
        #将猴子的数量加到列表arr里面
        arr.append(i)
    #当列表的长度大于1
    while len(arr)>1:
        #遍历第几个猴子被踢出去
        for i in range(m-1):
            #将列表arr的第一个元素踢出去
            arr.append(arr.pop(0))
        arr.pop(0)
    #返回第几个猴子被踢出去
    return arr[0]
print(f(5,6))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值