我从文本文件中读取行,然后将它们以2个字符对插入到列表中
例如hello = ['he','el','ll','lo']
。
在我当前的代码中,行的初始读取会将每一行转换为它自己的列表,然后将其放入一个列表中,从而得到一个列表列表。因此这两条线hello
world
给我列表[[['he','el','ll','lo'], ['wo','or','rl','ld']]
。我可以用这段代码和singleList = sum(listlist,[])
这将给我一个单一的列表,但是这是低效的,因为它在列表上迭代了两次(我读到一个注释说这是一个糟糕的方法做它放在第一位)。你知道吗
如何获取代码,并在第一次传递时将行中的值输入到单个列表中?你知道吗
def countPairs():
print ()
inFile = open("hello.txt", "r")
n = 2
linsiz = []
for line in inFile:
line.rstrip('\n')
linsiz.append([line[i:i+2] for i in range(0,len(line),1)])
print (linsiz)
singleList = sum(linsiz,[])
print (singleList)
countPairs()
不管是谁提出了可能的复制,他都试图关闭线程。这根本不能回答我的问题。我很确信他们甚至没有读我的帖子,而是认出了一些有hello = ['he','el','ll','lo']
的东西,并认为“低点海报,让它关闭”。白痴。你知道吗
这个小小的改变就可以了:
您使用的是列表理解,它返回一个列表,您的附加行将一个新列表附加到您的列表中。您正在将一个新值推入列表中,但该值是一个列表,因此它将生成一个列表列表。你知道吗
似乎你想做的是把这些列表附加到你的列表中,比如:
这与执行:[]+[]或将两个列表串联在一起是相同的。你知道吗
有一个标准库,完全用于公共迭代方法,称为^{} 。你知道吗
您的应用程序听起来最需要
itertools.chain.from_iterable()
:相关问题 更多 >
编程相关推荐