python实战练习真题

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)

在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老年断牙人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值