[Python-ideas] Add list.join() please
Jeff Allen
ja.py at farowl.co.uk
Tue Jan 29 15:36:28 EST 2019
On 29/01/2019 01:40, Jamesie Pic wrote:
> ... I'm still sometimes confused between the different syntaxes used
> by join methods:
>
> 0. os.path.join takes *args
> 1. str.join takes a list argument, this inconsistence make it easy to
> mistake with the os.path.join signature
It seems fairly consistent to make:
os.path.join('a', 'b', 'c')
short for:
os.path.sep.join(['a', 'b', 'c'])
> Also, I still think that:
>
> '_'.join(['cancel', name])
>
> Would be more readable as such:
>
> ['cancel', name].join('_')
Please, no. This would be un-Pythonic in my view. It makes so much more
sense that str should have a method that takes an iterable, returning
str, than that every iterable should have a join(str) returning str.
Consider you get this kind of thing for free:
"-".join(str(i) for i in range(10))
I learned enough Groovy last year to use Gradle and was so disappointed
to find myself having to write:
excludes: exclusions.join(',') // Yes, it's that way round :o
Even Java agrees (since 1.8) with Python.
Jeff Allen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20190129/ff0fbae7/attachment-0001.html>
More information about the Python-ideas
mailing list