0
ここで提案された質問に対する解決策では、printing a two dimensional array in pythonは解決策の{:4}部分が正確に何を意味するのか把握できません。私はこのprintステートメントを試しましたが、うまくいくようですが、行列が非常に大きい場合は、貴重な情報を追加したり、スライスしたりしないようにしたいと思います。{:4}は、このマトリックス印刷ソリューションの意味は何ですか?
ここで提案された質問に対する解決策では、printing a two dimensional array in pythonは解決策の{:4}部分が正確に何を意味するのか把握できません。私はこのprintステートメントを試しましたが、うまくいくようですが、行列が非常に大きい場合は、貴重な情報を追加したり、スライスしたりしないようにしたいと思います。{:4}は、このマトリックス印刷ソリューションの意味は何ですか?
出力のパディングとアラインメントと関係があります。 printf
ファンクションでは、c
またはawk
などのパディングと似ています。各印刷エレメントの幅はn
で、n
は{:n}
です。
''.join('{:3}'.format(x) for x in range(100))
ウィル出力:
' 0 1 2 3 4 5 ... 95 96 97 98 99'
お知らせ0
の左にある二つのスペース対99
の左に単一のスペース。つまり、各数字の幅は3文字です。
さらに従来の構文を使用しても同様の効果を得ることができます。
''.join('%3s' % x for x in range(100))
ああ、素晴らしい!それは多くの意味があります。ありがとうございました。 – Daniel
@ZdaR: "*出力は最大4文字になります*"。 **あなたは** minimum **を意味すると思います。 4文字以上が表示されている場合は、最後の文字列になります。少ない場合は、文字列が埋められます。数値は 'printf"%4s "'のように、最小フィールド幅です。 '" {:4} "を試してください。format(" 123456 ")'。 docは "* widthは最小フィールド幅を定義する10進整数です*" https://docs.python.org/3/library/string.html#formatspec – cdarke