python---列表生成式

1.输入三个数分别把这三个数赋值给k,a,b

方法一

s = input('请输入三个数:')
li = []
for item in s.split():  #把s字符串以空格进行拆分并遍历字符串
    li.append(int(item)) #把遍历的元素转换成整形添加到li列表中
k,a,b = li   #将li列表中的元素赋值给k,a,b
print(k,a,b)  #打印k,a,b,
print(type(k),type(a),type(b)) #打印k,a,b的类型

结果
方法二 用列表生成器

s = input('请输入三个数:')
k,a,b = [int(item) for item in s.split()]
print(k,a,b,)
print(type(k),type(a),type(b)) #打印k,a,b的类型

这里写图片描述

2: 生成一个列表, 列表元素分别为[1**1,2**2,3**3,4**4….n**n]也就是求阶乘。

方法一

li = [] #先定义一个空列表
for i in range(1,8): #遍历1到7
    li.append(i**i) #将遍历的数求出他的阶乘在添加到li列表中
print(li) #打印li列表

这里写图片描述
方法二 用列表生成式

print([ i**i for i in range(1,8)]) #一步就搞定了

这里写图片描述

print([ i**i for i in range(1,8)]) #一步就搞定了
print([i**i for i in range(1,8) if i%2==0]) #增加一个条件求1到7偶数的阶乘

这里写图片描述
总结:
[ experssion(或者函数) for item1 in 序列 if 判断语句
                                        for item2 in 序列 if 判断语句
                                        for item3 in 序列 if 判断语句
]

猜你喜欢

转载自blog.csdn.net/suifengOc/article/details/81805890