• 文件操作


    作业1,文件a.txt内容:每一行内容分别为商品名字,价格,个数

    apple 10 3

    tesla 100000 1

    mac 3000 2

    lenovo 30000 3

    chicken 10 3

    通过代码,将其构建成这种数据类型:

    [{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。

    '''
    实现方法:
    循环句柄,控制循环次数,对item进行切割,形成列表,
    在进行for循环添加字典
    '''
    with open('a.txt', 'r', encoding='utf-8') as f:
        li = []
        for item in f:  # item = apple 10 3
            dic = {'name': None, 'price': None, 'amount': None}
            lst = item.split()  # lst = ['apple', '10', '3']
            dic['name'] = lst[0]
            dic['price'] = lst[1]
            dic['amount'] = lst[2]
            li.append(dic)
        print(li)

    作业2,文件a1.txt内容:

    name:apple price:10 amount:3 year:2012
    name:tesla price:100000 amount:1 year:2013

    ......

    通过代码,将其构建成这种数据类型:

    [{'name': 'apple', 'price': '10', 'amount': '3'}, {'name': 'tesla', 'price': '100000', 'amount': '1'}]

    with open('e.txt', 'r', encoding='utf-8') as f:
        lst = []
        sum = 0
        for item in f:
            dic = {}
            lst1 = item.split(' ')  # ['name:apple', 'price:10', 'amount:3', 'year:2012
    ']
            for el in lst1:  # item = 'name:apple'
                lst2 = el.split(':')  # lst2 = [name, apple]
                if lst2[0] == 'year':
                    continue
                dic[lst2[0]] = lst2[1].strip()
            lst.append(dic)
            sum += int(dic['price'])*int(dic['amount'])
        print(lst)
        print(sum)

    作业3,文件a.1txt内容形式:

    序号     部门      人数      平均年龄      备注
    1       python    30         26         单身狗
    2       Linux     26         30         没对象
    3       运营部     20         24         女生多

    通过代码,将其构建成这种数据类型:

    [{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
    ......]

    with open('d.txt', 'r', encoding='utf-8') as f:
        lst = f.readlines()
        lst1 = []  # 最后打印的列表
        new = []  # key的列表
        for item in lst[0].split():  # 将第一行的名称添加到new列表里面,之后for循环new列表元素组成字典的key
            if item != ' ':
                new.append(item)
        # print(new)  # ['序号', '部门', '人数', '平均年龄', '备注']
        # print(lst[1:])
        index = 0   # 实现列表长度的循环
        for item in lst[1:]:
            # n = []
            dic = {}  # 循环定义字典,添加到列表中
            for el in item.split(' '):  # el = ['1', ...]
                if el != '':  # n = ['1', 'python', '30', '26', '单身狗
    ']
                    # n.append(el)
                    dic[new[index]] = el.strip()  # 匹配索引位置以键值对的形式添加到列表中
                    index += 1
                    if index == len(new):
                        index = 0
            lst1.append(dic)
        print(lst1)
  • 相关阅读:
    第一次c++团队合作项目第三篇随笔
    第一次c++团队合作项目第二篇随笔
    第一次c++团队合作作业期间第一篇随笔
    电梯调度程序
    给我留下深刻印象的三位老师
    一个带有富文本功能的记事本
    我也忘了第几次团队作业
    关于复数输入输出的一点见解
    c++团队作业工作笔记
    又要开始新的征程了hhh(这次内容比较感兴趣)
  • 原文地址:https://www.cnblogs.com/chenrun/p/9157278.html
Copyright © 2020-2023  润新知