6.计算列表数字的和
def sum_list(num: list):
result = 0
for x in num:
result += x
return result
print(sum_list([1, 2, 3, 4]))
python中其实直接就有可以计算列表的和的函数,不需要自己再定义:
print(sum([1, 2, 3, 4]))
7. 计算数字范围中所有偶数,不包含开始和结束值
def all_oushu(begin,end):
oushu_list=[]
for x in range(begin+1,end):
if x % 2 == 0:
oushu_list.append(x)
return oushu_list
print(all_oushu(10,20))
方法2:
使用列表推导式,同样实现功能,列表推导式返回值一个列表
begin = 1
end = 11
data = [item for item in range(begin, end) if item % 2 == 0]#列表推导式
print(data)
8.移除列表中的多个元素
输入原始列表和移除元素,返回移除后的列表
def remove_list(list1,list2):
for item in list2:
list1.remove(item)
return list1
print(remove_list([3,5,7,8,11,13],[7,11]))
使用列表推导式
list1=[3,5,7,8,11,13]
list2=[3,5]
data = [item for item in list1 if item not in list2]
print(data)
9.对列表元素去重
输入包含重复元素的原始列表,返回去重后的列表
方法1:
def quchong(list1):
result = []
for x in list1:
if x not in result:
result.append(x)
return result
print(quchong([10,20,30,10,20]))
方法2:
list2=[10,20,30,10,20]
print(list(set(list2)))
10.对简单列表进行排序
简单列表:元素类型不是复合类型(列表/元组/字典)
list1 = [20,50,10,40,30]
list2=['bb','ee','aa','dd','cc']
print(sorted(list1))
print(sorted(list2,reverse=True))
print(list1)
list1.sort()
print(list1)
sorted函数不会改变原列表,会返回一个列表,sort方法会改变原列表,没有返回值
11.实现学生成绩的排序
内容使复杂列表:元素使字典或者元组
使用sorted搭配lambda函数使用
lambda匿名函数的高级用法。
list1=[
{'sno':101,'sname':"小张",'sgrade':88},
{'sno':102,'sname':"小王",'sgrade':86},
{'sno':103,'sname':"小李",'sgrade':78},
{'sno':104,'sname':"小美",'sgrade':99},
]
student_sorted=sorted(list1,key=lambda x:x["sgrade"])
print(student_sorted)
12.读取成绩文件排序数据
输入文件:三列:学号,姓名,成绩
列之间用英文逗号分割,比如"101,小张,88"
列之间用\n换行分割
处理:读取文件,按成绩倒序排列
输出:排序后的三列数据
def read_file1():
result = []
with open(r"C:\Users\cwy\OneDrive\Desktop\test.txt","r",encoding="UTF-8") as f:
for line in f:
line=line.strip()
line = line.split(",")
result.append(line)
return result
def write_file(data):
with open(r"C:\Users\cwy\OneDrive\Desktop\test1.txt","w",encoding="UTF-8") as f:
# data=data.replace("[","")
# data=data.replace("]","")
# f.write(data)
for x in data:
f.write(",".join(x)+"\n")
#读取文件
data=read_file1();
print(data)
#数据排序
data.sort(key=lambda element:int(element[2]))
print(data)
# 写出文件
write_file(data)