假设我有一个列表列表
x = [['#', '#', '#', '#', '#'], ['#', '0', ' ', ' ', '#'], ['#', '#', '#', ' ', '#']]
假设我需要将其分成 3 行字符串,我该怎么做?
这是我可以做到的方法,但它不可扩展,假设我有更多的列表,那么我将不得不写这么多打印语句。我想到了一个 for 语句
print "".join(mlist[0])
print "".join(mlist[1])
print "".join(mlist[2])
我一直在想这样的事情,但没有成功
zert = ""
total = 0
for a in mlist:
for b in a:
if total < 6:
print zert
total = 0
zert = ''
zert += b
total += 1
^ 上面的问题是我需要先保存一个,然后迭代它但只是检查是否没有内置函数?我试过 ''.join(mlist) 但它确实有效,因为它在列表中列出?
有没有更简单的方法来做到这一点?
最佳答案
您可以使用列表理解来连接列表:
print '\n'.join([''.join(inner) for inner in mlist])
列表理解为每个嵌套列表创建一个字符串,然后我们将新的行列表连接到一个更大的带有换行符的字符串中。
演示:
>>> mlist = [['#', '#', '#', '#', '#'], ['#', '0', ' ', ' ', '#'], ['#', '#', '#', ' ', '#']]
>>> print '\n'.join([''.join(inner) for inner in mlist])
#####
#0 #
### #
您也可以使用 for
循环:
for inner in mlist:
print ''.join(inner)
关于python - 从 5 行的列表列表中获取所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18251653/