代码之家  ›  专栏  ›  技术社区  ›  Chaitanya

在python中组合2个列表

  •  3
  • Chaitanya  · 技术社区  · 16 年前

    我有两个大小相等的列表,有兴趣将这两个列表合并并写入一个文件。

    alist=[1,2,3,5] 
    blist=[2,3,4,5] 
    

    --结果列表应该如下 [(1,2),(2,3),(3,4),(5,5)]

    在那之后,我想把它写进一个文件。我怎样才能做到这一点?

    2 回复  |  直到 11 年前
        1
  •  13
  •   Ben James    16 年前
    # combine the lists
    zipped = zip(alist, blist)
    
    # write to a file (in append mode)
    file = open("filename", 'a') 
    for item in zipped:
        file.write("%d, %d\n" % item) 
    file.close()
    

    文件中的结果输出将是:

     1,2
     2,3
     3,4
     5,5
    
        2
  •  6
  •   Community Mohan Dere    9 年前

    为了完整起见,我将补充 Ben's solution 那个 itertools.izip 如果迭代使用结果,尤其是对于更大的列表更可取,因为最终结果不是实际的列表而是生成器:

    from itertools import izip
    zipped = izip(alist, blist)
    with open("output.txt", "wt") as f:
        for item in zipped:
            f.write("{0},{1}\n".format(*item))
    

    文件 izip 可以找到 here .