1 # 方法一:直接使用list的sort方法
2 li = [5,2,76,34,23,1,99,100,88,10]
3 li.sort()
4 print(li)
5 # 输出
6 # =>[1, 2, 5, 10, 23, 34, 76, 88, 99, 100]
7 # 方法二:新建一个列表,遍历原列表,以此取出最小值放入新列表
8 li = [5,2,76,34,23,1,99,100,88,10]
9 li_res = []
10 def operate(start_list,new_list): # 定义operate函数,两个参数
11 for i in range(len(start_list)): # 遍历初始列表
12 min_ = min(start_list) # 选择列表中最小元素
13 one = start_list.pop(start_list.index(min_)) # 挑选出最小元素及其下标位置,初始列表删除最小元素
14 new_list.append(one) # 将最小元素添加到新列表
15 return new_list
16 print(operate(li,li_res))
17 # 输出
18 # =>[1, 2, 5, 10, 23, 34, 76, 88, 99, 100]
19 # 方法三:选择排序
20 li = [5,2,76,34,23,1,99,100,88,10]
21 li1 = [343,565,23,45,68,89,346,76]
22 def operate(array): # 定义operate函数,一个参数
23 for i in range(len(array)): # 遍历列表
24 min_ = min(array[i:]) # 根据列表初始位置选择列表中的最小元素()
25 one = array.pop(array.index(min_)) # 挑选出最小元素
26 array.insert(i,one) # 将最小元素添加到指定列表下标位置
27 return array
28 print(operate(li))
29 # 输出
30 # =>[1, 2, 5, 10, 23, 34, 76, 88, 99, 100]
31 print(operate(li1))
32 # 输出
33 # =>[23, 45, 68, 76, 89, 343, 346, 565]
1 # 方法一:高阶函数
2 li = list(range(1,11)) # 生成一个列表li = [1,2,3,4,5,6,7,8,9,10]
3 def chfa(x,y): # 定义乘法函数
4 return x*y
5 def jiech_res(func,array): # 定义乘法结果函数
6 res = 1
7 for i in array:
8 res = func(res,i)
9 return res
10 print(jiech_res(chfa,li)) # 传入参数
11 # 输出
12 # =>3628800
13 # 方法二:内置函数reduce
14 from functools import reduce # 导入模块
15 li = list(range(1,11)) # 生成列表
16 print(reduce(lambda x,y:x*y,li)) #调用reduce函数
17 # 输出
18 # =>3628800
19 # 方法三:while循环
20 num = 1
21 res = 1
22 while num<11:
23 res = res*num
24 num += 1
25 print(res)
26 # 输出
27 # =>3628800
28 # 方法四:递归函数
29 def func(x): # 定义函数
30 if x-1 == 0:
31 return x
32 res = x*func(x-1)
33 return res
34 print(func(10))
35 # 输出
36 # =>3628800
37 # 方法五:遍历列表
38 li = list(range(1,11)) # 生成列表
39 res = 1
40 for i in li:
41 res = res*i
42 print(res)
43 # 输出
44 # =>3628800