複数のリスト(同じ長さ)をテーブルの列として印刷しようとしています。
.txtファイルからデータを読み取っていますが、コードの最後に5つのリストがあり、列を区切ってスペースとして印刷したいと思います。
3つのリストのアナログを紹介します。
>>> l1 = ['a', 'b', 'c']
>>> l2 = ['1', '2', '3']
>>> l3 = ['x', 'y', 'z']
>>> for row in Zip(l1, l2, l3):
... print ' '.join(row)
a 1 x
b 2 y
c 3 z
あなたは私のパッケージを使うことができます beautifultable 。行または列によるデータの追加、または両方のアプローチの混合をサポートします。行または列を挿入、削除、更新できます。
>>> from beautifultable import BeautifulTable
>>> table = BeautifulTable()
>>> table.column_headers = ["name", "rank", "gender"]
>>> table.append_row(["Jacob", 1, "boy"])
>>> table.append_row(["Isabella", 1, "girl"])
>>> table.append_row(["Ethan", 2, "boy"])
>>> table.append_row(["Sophia", 2, "girl"])
>>> table.append_row(["Michael", 3, "boy"])
>>> print(table)
+----------+------+--------+
| name | rank | gender |
+----------+------+--------+
| Jacob | 1 | boy |
+----------+------+--------+
| Isabella | 1 | girl |
+----------+------+--------+
| Ethan | 2 | boy |
+----------+------+--------+
| Sophia | 2 | girl |
+----------+------+--------+
| Michael | 3 | boy |
+----------+------+--------+
楽しんで
リストのリストがあることを確認します。
_for L in list_of_lists:
print " ".join(L)
_
str.join(iterable)
関数は、指定された文字列によってiterableのコンポーネントを結合します。
したがって、" ".join([1, 2, 3])
は「123」になります。
質問を誤解した可能性があり、各list
は列であると想定されている場合に備えて:
_for T in Zip(list1, list2, list3, list4, list5):
print " ".join(T)
_
Zip()
は、指定されたリストをタプルの1つのリストにマージします。
_>>> Zip([1,2,3], [4,5,6], [7,8,9])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
_
乾杯!
for nested_list in big_container_list
print '\t'.join(nested_list)
\t
集計文字であること
簡単な例:
In [1]: a = [['1','2'],['3','4']]
In [5]: for nested_list in a:
...: print '\t'.join(nested_list)
...:
1 2
3 4