我有一个像这样的列表
list=[[2,3],[3,4]]
我想打印列表中的每个列表,如下所示:
1:2 3,2:3 4
所以第一部分是列表中列表的位置,后面是列表中的数字。
到目前为止,我已尝试过for循环和单个打印行。 for循环可以工作,但会在新行中打印每个列表。另一个印刷语句看起来像这样,但它根本不工作,我不知道如何解决它。
print('{0:}:'.format(list[0]),' '.join([', '.join([str(e) for e in slist]) for slist in list]))
为此,列表看起来像这个list = [[1,2,3],[2,3,4]]
所以每个列表中的第一个元素是列表的索引(从1开始)
我使用Python3
答案 0 :(得分:3)
l =[[2,3],[3,4]]
print(", ".join(["{}: {}".format(ind," ".join(map(str,x))) for ind, x in enumerate(l,1)]))
1: 2 3, 2: 3 4
enumerate(l,1)
跟踪子列表的索引,我们将1
作为第二个参数传递,以1
而不是0开始索引。
" ".join(map(str,x)
将所有内容映射到字符串,我们使用str.format
在每个索引之前添加:
。 ", ".join
用逗号分隔每个部分。
答案 1 :(得分:0)
您可以在列表理解中使用join()
和enumerate()
:
>>> l=[[2,3],[3,4]]
>>> ','.join(['{}:{}'.format(i,' '.join(str(t) for t in j)) for i,j in enumerate(l,1)])
'1:2 3,2:3 4'