[英]Print list in specific way in Python
我有這樣的清單
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
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)
將所有int映射到字符串,我們使用str.format
在每個索引之前添加:
。 ", ".join
。 str.format
將每個節用逗號分隔。
您可以在列表推導中使用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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.