> > print(*iterable, sep=", ")
Thanks, I apologize :-) and why I always manage to find complicated ways... With kind regards, -gdg 2018-02-26 22:43 GMT+03:00 Chris Angelico <ros...@gmail.com>: > On Tue, Feb 27, 2018 at 6:38 AM, Kirill Balunov <kirillbalu...@gmail.com> > wrote: > > Currently `str.join` raises `TypeError` if there are any non-string > values > > in iterable, including `bytes` objects. Is it an awful idea to implicitly > > _cast_ elements in iterable to their `str` or `repr` representation? Was > > this question adressed before? > > > > As for me there are two valid points: On one hand "Explicit is beter than > > implicit" and on the other "Practicality beats purity". May be I'm the > only > > one who finds that it is rather boring to write somehting like: > > > > ", ".join(str(i) for i in iterable) > > > > when iterable contains non-string values, instead of: > > > > ", ".join(iterable) > > > > I don't know how much overhead will yield for the case when iterable > > contains only strings...and if it is possible to optimize this case. This > > change is backward compatible, but as I wrote above, it can be perceived > > badly and yield a huge overhead for general case that it is not even > worth > > discussing. What do you think? > > This would be a perfect job for map. > > ", ".join(map(str, iterable)) > > If this is for display, you could also just print the values directly: > > print(*iterable, sep=", ") > > ChrisA > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list