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