美文网首页生活不易 我用python
python一道面试题文件合并

python一道面试题文件合并

作者: 唐小猴 | 来源:发表于2018-07-16 17:38 被阅读20次

    背景:去年的时候,去一个公司面试,然后出了这道题,拿出来和大家分享一下

    题目:使用python将文件test1.txt和test2.txt合并生成test3.txt的形式

    test1.txt test2.txt test3.txt

    思路:

    1、使用列表list2接收test1里的数字,使用列表list3接收test2里面的字母2

    2、列表list2和列表list3 组合成字典

    {'1': 'a', '2': 'b', '3': 'c', '4': 'd', '5': 'e', '6': 'f', '7': 'h', '8': 'j', '9': 'g'}

    3、对字典进行操作并设置换行符写入第三方文件test3.txt中

    代码分析

    list1 = []

    list2 = []

    list3 = []

    #打开文件test1,将test1文件写入列表list1中

    with open('test1.txt', 'r') as f1:

         for i in f1.readlines():

                       list1.append(i)

    #对list1列表里面的每一个字符串元素转成列表使用list2进行接收 for j in range(len(list1)):              for j in range(len(list1)):

                        for k in list(list1[j].strip()):

                                             list2.append(k)

    list1 = []

    with open('test2.txt', 'r') as f2:

         for i in f2.readlines():

                          list1.append(i)

          for j in range(len(list1)):

                                 for k in list(list1[j].strip()):

                                                   list3.append(k)

    #两个列表组成字典

    dt = dict(zip(list2, list3))

    #将字典写入文件,并设置换行符

    with open('test3.txt', 'w') as f3:

            i = 1

            for k, v in dt.items():

                         f3.write(k)

                         f3.write(v)

                         if i % 3 ==0:

                                f3.write('\n')    

                         i = i  + 1 

    截图:

    代码截图 运行结果

    相关文章

      网友评论

        本文标题:python一道面试题文件合并

        本文链接:https://www.haomeiwen.com/subject/kjbbpftx.html