Oh and if you want to write ['a', 'b', 'c'].join('.')

Check out pip install funcoperators and you can write :

['a', 'b', 'c'] |join('.')

Given you defined the function below :

from funcoperators import postfix
def join(sep):
    return postfix(lambda it: sep.join(map(str, it))

You can even choose the operator :

['a', 'b', 'c'] -join('.')
['a', 'b', 'c'] /join('.')
['a', 'b', 'c'] @join('.')
...

Disclaimer : I'm the creator of funcoperators

On Tue, 29 Jan 2019, 02:43 Jamesie Pic <j...@yourlabs.org wrote:

> Hello,
>
> During the last 10 years, Python has made steady progress in convenience
> to assemble strings. However, it seems to me that joining is still, when
> possible, the cleanest way to code string assembly.
>
> However, 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
>
> Also, I still think that:
>
> '_'.join(['cancel', name])
>
> Would be more readable as such:
>
> ['cancel', name].join('_')
>
> Not only this would fix both of my issues with the current status-quo, but
> this would also be completely backward compatible, and probably not very
> hard to implement: just add a join method to list.
>
> Thanks in advance for your reply
>
> Have a great day
>
> --
> ∞
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to