列表的使用
1、请问这个函数有多少个参数? def MyFun((x,y), (a, b)): return x * y - a * b
# 这个函数有0个参数,因为函数参数是可变的,题中的参数是两个元组
2、下面代码会输出什么? def f(x,l=[]): for i in range(x): l.append(i*i) print (l) f(2) # [0,1] f(3,[3,2,1]) # [3,2,1,0,1,4] f(3) # [0,1,0,1,4]
3、列表的sort方法和sorted的区别是什么?试举例说明。 list1 = [9,1,3,5,4,2,0] list1.sort() # 列表内容顺序输出 print(list1) list2 = ["A","C","B"] # 列表内容顺序输出 b = sorted(list2) print(list2) print(b) """ sort()方法是在原有的列表基础上进行排序,无返回值 sorted()方法是返回一个新的列表,而不是在原有的列表上进行排序 """
4、现有一个由100以内所有偶数组成的列表,将列表中所有能被4和6整除的数去除 # 方法一 list1 = [] for i in range(0,101): if i % 2 == 0: list1.append(i) for i in list1: if i % 4 == 0: list1.remove(i) for i in list1: if i % 6 == 0: list1.remove(i) print(len(list1)) # 方法二 list1 = [i for i in range(0,101) if i % 2 == 0 and i % 4 != 0 and i % 6 != 0] print(list1)
5、尝试用两个方式,分别用一行语句实现去除了中的相同项,将结果存放在l2列表中 # 方法一 l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print(l2) # 方法二 l1 = ['b','c','d','b','c','a','a'] l2 = [] [ l1[i] for i in range(len(l1)) if l1[i] not in l1[:1]] print(l2)
6、编写一个函数满足以下功能: 计算打印所有参数的和乘以基数(base=3)的结果 # 方法一 def sum1(*number,base=3): res = sum(number)*base return res print(sum1()) # 方法二 def sum(*arg,base=3): s = 0 for i in arg: s += i s *= base return s print(sum())
def sum(*arg,base=3): s = 0 for i in arg: s += i s *= base return sprint(sum(4,5,6))