0

印刷方法のアイデア

(([0.2, 0.6], [0.5, 0.8]), "10 11 {'chocolate': 10}")
(([0.0, 0.6], [0.8, 0.5]), "10 12 {'chocolate': 10}")

なので..

0.2  0.6  0.5  0.8  10  11 chocolate 10
0.0  0.6  0.8  0.5  10  12 chocolate 10

私もそれを強制することができました(今のところチョコレートを無視します):

(([0.2, 0.6], [0.5, 0.8]), '10 11 10')
(([0.0, 0.6], [0.8, 0.5]), '10 12 10')

これが簡単に変換できる場合

0.2  0.6  0.5  0.8  10  11  10
0.0  0.6  0.8  0.5  10  12  10

ここで他の質問で見つけたものを試しましたが、

      print  '\n'.join('\t'.join(map(str,tuple(chain(*i)))) for i in s)

これを噛むと、単語と最後の要素が次のようになります

 c        h      o       c        o        l      a      t    e 

私はまだ試しています...

4

1 に答える 1

6

あなたのデータが

>>> spam=(([0.2, 0.6], [0.5, 0.8]), "10 11 {'chocolate': 10}")

あなたは簡単に行うことができます

>>> print str(spam).translate(None,"([]){},\"'")
0.2 0.6 0.5 0.8 10 11 chocolate: 10

データを集計したい場合

>>> print str(spam).translate(None,"([]){},\"'").replace(' ','\t')
0.2 0.6 0.5 0.8 10  11  chocolate:  10
>>> 

また、最終出力で中括弧'{'とコロン':'を使用しても問題がない場合は、次のようにすることもできます。

>>> ''.join(map(str,list(itertools.chain(*list(itertools.chain(*spam))))))
"0.20.60.50.810 11 {'chocolate': 10}"

またはあなたが現在やっていたこと

>>> print ''.join(map(str,list(itertools.chain(*list(itertools.chain(*spam))))))
0.20.60.50.810 11 {'chocolate': 10}
>>> 

これはあなたの表現が達成しようとしていたことと似ていますが、それを追加tabnewlinejoin台無しにしました。

しかし、単純さと読みやすさに関しては、前者の方が良いと思います。

于 2012-04-09T17:10:52.797 に答える