Python では次のことができます:
list = ['a', 'b', 'c']
', '.join(list) # 'a, b, c'
ただし、オブジェクトのリストがあり、同じことを実行しようとすると、次のようになります。
class Obj:
def __str__(self):
return 'name'
list = [Obj(), Obj(), Obj()]
', '.join(list)
次のエラーが発生します:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, instance found
簡単な方法はありますか? それとも、for ループに頼らなければなりませんか?
ベストアンサー1
代わりに、リストの内包表記またはジェネレータ式を使用することもできます。
', '.join([str(x) for x in list]) # list comprehension
', '.join(str(x) for x in list) # generator expression