所以说我有一份清单
x = [['#', '#', '#', '#', '#'], ['#', '0', ' ', ' ', '#'], ['#', '#', '#', ' ', '#']]
假设我需要将其拆分为3行字符串,我该怎么做?
这是我怎么做的但是它不可扩展,比如我有更多的列表,那么我将不得不写出这么多的打印声明。我想到了一个for statment
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),但是它确实有效,因为它列在列表中?
有更简单的方法吗?
答案 0 :(得分:4)
您可以使用列表推导来加入列表:
print '\n'.join([''.join(inner) for inner in mlist])
list comprehension创建每个嵌套列表的字符串,然后我们将新的行列表加入到带有换行符的更大字符串中。
演示:
>>> mlist = [['#', '#', '#', '#', '#'], ['#', '0', ' ', ' ', '#'], ['#', '#', '#', ' ', '#']]
>>> print '\n'.join([''.join(inner) for inner in mlist])
#####
#0 #
### #
您也可以使用for
循环:
for inner in mlist:
print ''.join(inner)
答案 1 :(得分:1)
>>> orig_list = [['#', '#', '#', '#', '#'], ['#', '0', ' ', ' ', '#'], ['#', '#', '#', ' ', '#']]
>>> new_list = [ "".join(x) for x in orig_list ]
>>> new_list
['#####', '#0 #', '### #']
>>> print("\n".join(new_list))
#####
#0 #
### #
答案 2 :(得分:1)
使用目前为止所做的,直接打印它。
for a in mlist:
print "".join(a)
答案 3 :(得分:1)
或者最简单的
for a in x:
print "".join(a)