Python によるリスト項目の印刷方法の再考
疑問が生じます:Python リストのすべての要素を印刷するためのより効率的な方法はありますか?次のコード:
myList = [Person("Foo"), Person("Bar")] print("\n".join(map(str, myList)))
以下に示すように、for ループを使用すると報告されています。最適ではありません:
for p in myList: print(p)
別の提案は、次のように各要素を直接出力することでした:
print(p) for p in myList
しかし、これが有効な解決策ではないのはなぜでしょうか。ここで、Python の方法を詳しく見てみましょう。
リスト項目を印刷するための解凍
Python 3 ユーザーには、次のコードが洗練されたソリューションを提供します。
print(*myList, sep='\n')
このコードはアンパックを使用して、区切り文字として改行を含む要素を出力します。 Python 2 の場合、同様の動作に from __future__ import print_function を使用します。
反復を使用した解決策
Python 2 の場合、反復が必要です。次のコードは、シンプルかつ効果的なオプションです。
for p in myList: print p
リスト内包表記の代替
n.join() が優先される場合は、次の簡潔な代替案を検討してください。
print('\n'.join(str(p) for p in myList))
本質的に、リスト項目を出力するための Python 的アプローチは効率と読みやすさを重視します。解凍やリスト内包表記のいずれであっても、これらのメソッドは、Python 開発者に、データを目的の形式で提示するための強力で多用途のツールを提供します。
以上がリスト項目を印刷する最も Python 的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。