私はいくつかのデータをforループを通して反復した後に整列させるのに苦労しています。私はループ出力のためにそれぞれ別の列を持っているが、これを達成する方法を理解することに失敗したい。私は新しい行にend = ''で終わってみましたが、次の列を先頭に戻しません。あなたは助けてもらえますか?以下は、ビルドしようとしているコードのテスト可能な例です。あなたの助けがよろしくです。Pythonの列を並べて印刷
import time, re, collections, operator
output_list = [['2016-07-12', 'Magazine', 'News Paper #2', 'Podcast', '1234567', '10-10-10-10', 'ABCDEFG', 'Zoo'],
['2016-07-12', 'Book', 'News Paper #2', 'Podcast', '1234567', '10-10-10-10', 'ABCDEFG', 'Zoo'],
['2016-07-13', 'Book', 'News Paper #2', 'Podcast', '1234567', '10-10-10-10', 'ABREF', 'Zoo'],
['2016-07-14', 'Article', 'News Paper #4', 'Radio', '1234567', '10-10-10-10', 'ABCDEFG', 'Zoo'],
['2016-07-15', 'Article', 'News Paper #4', 'Radio', '1234567', '10-10-10-10', 'ABCDEFG', 'Zoo'],
['2016-07-15', 'Snippet', 'News Paper #2', 'Podcast', '1234567', '10-10-10-10', 'ABCDEFG', 'Zoo']]
def count_types():
#item_1 = mm_counts(0)
item_2 = mm_counts(1)
item_3 = mm_counts(2)
item_4 = mm_counts(3)
item_5 = mm_counts(4)
item_6 = mm_counts(5)
item_7 = mm_counts(6)
item_8 = mm_counts(7)
print('=' * 90)
print(('Media1 Media2 Media3 Media4 Media5 Media6 Media7'))
print('=' * 90)
def mm_counts(a):
r = []
for i in output_list:
x = (i[a])
r.append(x)
y = collections.Counter(r)
padding = 9
for k, v in sorted(y.items(), key=operator.itemgetter(1), reverse=True):
z = (str(k).ljust(13, ' ') + ' ' + (str(v).ljust(5, ' ')))
print (z)
count_types()
電流出力:
==========================================================================================
Media1 Media2 Media3 Media4 Media5 Media6 Media7
==========================================================================================
Article 2
Book 2
Snippet 1
Magazine 1
News Paper #2 4
News Paper #4 2
Podcast 4
Radio 2
1234567 6
10-10-10-10 6
ABCDEFG 5
ABREF 1
Zoo 6
所望の出力:
=============================================================================================
Media1 Media2 Media3 Media4 Media5 Media6 Media7
==============================================================================================
Article 2 Magazine 1 Podcast 4 1234567 6 10-10-10-10 6 ABCDEFG 5 Zoo 6
Book 2 News Paper #2 4 Radio 2 ABREF 1
Snippet 1 News Paper #4 2
Magazine 1
ことができますすべてのデータを最初に 'lists'に格納してから、' zip'して印刷します(またはそれらを一緒に繰り返す)? –
'print_function'から' __future__ import print_function'を実行して、 'print(" ... "、end =" ")'を連続して実行すると、行が途切れることはありません。 [改行やスペースなしでPythonで印刷するには?](http://stackoverflow.com/questions/493386/how-to-print-in-python-without-newline-orspace) – mhoff
@MichaelHoff、私は試しましたその行だけではなく、1行にすべての行が表示されます。それがあなたのために働いていれば、変更されたコードを投稿できますか? – MBasith