簡體   English   中英

打印二維列表的 Pythonic 方式 -- Python

[英]Pythonic way to print 2D list -- Python

我有一個這樣的二維字符列表:

a = [['1','2','3'],
     ['4','5','6'],
     ['7','8','9']]

將列表作為一個整體打印的最pythonic 方式是什么? 即沒有逗號或括號:

123
456
789

有很多方法。 可能是str.join映射的str.join

>>> a = [['1','2','3'],
...          ['4','5','6'],
...          ['7','8','9']]
>>> print('\n'.join(map(''.join, a)))
123
456
789
>>>

我認為最好的方法是使用print功能。 使用print功能,您不需要任何類型的連接和轉換(如果所有對象都不是字符串)。

>>> a = [['1','2','3'],
...      ['4', 5, 6],   # Contains integers as well.
...      ['7','8','9']]
...

>>> for x in a:
...     print(*x, sep='')
...
...
123
456
789

如果您使用的是 Python 2,則可以使用from __future__ import print_function導入打印函數。

像這樣:

import os

array = [['1','2','3'],
         ['4','5','6'],
         ['7','8','9']]
print(os.linesep.join(map(''.join, array)))

如果您正在尋找Pythonic ,那么您肯定需要理解生成器:

print('\n'.join(''.join(i) for i in array))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM