Merge different lists together in Python
我是Python中的新手。我在清单上有困难。我有一个循环,它从文本文件中获取一些信息并执行函数。如果textfiles length为10行,则输出将是10个单独的列表,如下所示:〔0.45〕〔0.87〕…等等,对于n+1次(这取决于文本文件的长度)。
我如何将它们放在一个列表中,比如[0.45,0.87,…]?我尝试了不同的循环,但没有:(
我以前很感激:)…关于我糟糕的英语
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from pyfann import libfann import os path="." ext =".net" files = [file for file in os.listdir(path) if file.lower().endswith(ext)] for j in files: ann = libfann.neural_net() ann.create_from_file(j) print j f=open('nsltest1.dat','r') for i in f: x=i.strip() y=[float(i) for i in x.split()] z=ann.run(y) print z |
如果所有列表都存储在一个列表中,则为cx1〔3〕,
1 2 3 | # a = [[.45], [.87], ...] import itertools output = list(itertools.chain(*a)) |
使这个答案比其他答案更好的是,它将任意数量的列表整齐地连接在一行中,而不需要使用
加法运算符
1 2 3 4 | list1 = [1, 2, 3] list2 = [4, 5, 6] merged_list = list1 + list2 print(merged_list) #replace ( and ) with spaces if you're using python 2.x |
将输出
您可能需要了解以下问题:
- 如何将列表附加到第二个列表(连接列表)
- 将列表合并为一个列表
- python中的列表联接列表
基本上,如果你在一个循环中阅读你的行,你可以
1 2 3 4 | result = [] for line in file: newlist = some_function(line) # newlist contains the result list for the current line result = result + newlist |
你只需加上: