Python でリストを操作する場合、各要素を印刷するときに課題が発生することがよくあります。 Map() で "n".join() を使用したり、for ループでリストを反復処理したりするような従来の方法は、面倒に感じることがあります。この記事では、リスト項目を出力する簡潔で Python 的な方法を実現する、アンパックを使用したエレガントなソリューションを調査します。
Python 3 では、print() ステートメントでアンパックが可能です。アスタリスク (*) で区切ります。この機能を使用すると、単一の変数からオブジェクトを「アンパック」することで複数のオブジェクトを同時に出力できるため、明示的なループや結合操作の必要性が効果的に排除されます。
myList = [Person("Foo"), Person("Bar")] print(*myList, sep='\n')
アスタリスクを使用すると、myList の要素が展開されます。
Foo Bar
sep='n' 引数により、各項目が新しい行に出力されます。この解凍手法は、単純さと簡潔さという Python の哲学を体現しています。
Python 2 ユーザーの場合、print ステートメントには解凍機能がありません。ただし、future モジュールから print_function をインポートすると、Python 3 の print 構文の採用が可能になります。あるいは、単純な for ループを使用して各項目を出力することもできます。
for p in myList: print p
アンパックほど簡潔ではありませんが、リスト内包表記はリストを操作するための強力なツールとなります。リスト内包表記と "n".join() を組み合わせると、アンパックに代わる読み取り可能な方法が提供されます。
print '\n'.join(str(p) for p in myList)
このアプローチでは、str() を使用して各リスト要素を文字列表現に変換し、それらを改行で結合します。アンパックほど簡潔ではありませんが、リスト内包表記は依然としてリストを操作するための効果的で汎用性の高いテクニックです。
以上がアンパックによって Python でのリストの印刷をより Python らしくするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。