単語のリストがあり、それらすべてをコンマとスペースで区切って印刷したいとしましょう。たとえば、リストl
にアイテムが含まれてい['banana', 'apple', 'pear']
て、文字列を生成したいとしましょう"banana, apple, pear"
さて、問題を解決するために私が使用するアプローチは次のとおりです。
s = ""
s += l[0]
for i in range(1, len(l)):
s += ", %s" % l[i]
または、上記と非常によく似たもの。問題は、カンマとスペースを追加することを除いて、行 4 とほぼ同じであるため、行 2 の余分な割り当てが少し乱雑で冗長に見えることです。これは、非常に小さな式の場合はそれほど問題にはなりませんが、大きな式を探すのはやや面倒で不愉快になる可能性があります。たとえば、 if の代わりに、 which が非常によく似たステートメントを数行下で繰り返さなければならないのは正しくないと感じるl[0]
かもしれません。foo(bar(l[0]) + foobar(l[0]) + ...
余分な冗長性なしで望ましい結果を達成するためのより良い方法はありますか? これには、python 標準ライブラリに固有の回答や、複数の言語で使用できる一般的なパターンが含まれる場合があります。