题目八十
请在[5,6,77,45,22,12,24]中删除偶数后,编写一个打印列表的程序。
提示:
使用列表函数筛选函数
代码实现
方法一:
1.使用自定义函数,返回值为True 或者 False
2.filter(函数,列表),按照函数的要求返回列表的值
def isEven(n):
return n % 2 != 0
lst = [5, 6, 77, 45, 22, 12, 24]
lst1 = list(filter(isEven, lst))
print(lst1)
方法二:
1.使用lambda函数,定义函数
2.filter(函数,列表),按照函数的要求返回列表的值
lst = [5, 6, 77, 45, 22, 12, 24]
lst1 = list(filter(lambda x:x % 2 != 0,lst))
print(lst1)
方法三:使用列表循环,进行挑选元素
lst = [5, 6, 77, 45, 22, 12, 24]
lst1 = []
for i in lst:
if i % 2 != 0:
lst1.append(i)
print(lst1)
运行结果
[5, 77, 45]
题目八十一
使用列表函数,请编写一个程序,在[12,24,35,70,88,120,155]中删除可除以5和7的数字后打印列表。
代码实现
使用列表内的循环,[满足要求的元素 for循环轮遍整个列表 元素需要满足的条件]
lst = [12, 24, 35, 70, 88, 120, 155]
lst1 = [i for i in lst if i % 35 != 0]
print(lst1)
运行结果
[12, 24, 88, 120, 155]
题目八十二
使用列表理解,请在[12,24,35,70,88,120,155]中删除第0,2,4,6位数字后,编写一个打印列表的程序。
代码实现
与题八十一相同
lst = [12, 24, 35, 70, 88, 120, 155]
lst1 = [lst[i] for i in range(len(lst)) if i % 2 != 0]
print(lst1)
运行结果
[24, 70, 120]
题目八十三
使用列表理解,请在[12,24,35,70,88,120,155]中删除第二-第四位数字后,编写一个打印列表的程序。
代码实现
与题八十一相同
lst = [12, 24, 35, 70, 88, 120, 155]
lst1 = [lst[i] for i in range(len(lst)) if i <2 or i>4]
print(lst1)
运行结果
[12, 24, 120, 155]
题目八十四
通过使用列表理解,请编写一个程序,生成每个元素为0的358三维数组。
代码实现
按照矩阵最后的在括号最里面的方式,形成矩阵
array = [[[0 for i in range(8)] for j in range(5)] for k in range(3)]
print(array)
运行结果
[[[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]]