>>>>> "I" == ISO <juergen.erhard at gmx.net> writes: I> Sorry, Alex... but having read the discussions on python-dev, I> it doesn't seem like your "Guido has chosen" argument would I> fly. It didn't seem to me like Guido `chose'... more like I> Barry did a patch which contained .join, and Guido approved the I> whole kit'n kaboodle... I> So, for me it looks much more like something like an accident I> than a well-reasoned decision (not the introduction of I> string-methods, but making .join a method of strings). Not quite. When the subject of string methods came up, we debated what to do about string.join(). Tim Peters actually had the novel suggestion of making it a method of the joiner, i.e. the string. When phrased as: SPACE = ' ' SPACE.join(somelist) it did, and still does, read very nicely to me, so I included it in the string methods patch. Guido at least didn't hate it, so it made it in. I will note that I almost always use the join method this way, and almost never use it on a literal string; I agree that that looks pretty ugly. I won't rehash why join() isn't appropriate as a method of sequences, but let me explain why I like it as a string method. As a function in the string module, the name `join' gives no clue as to whether the sequence comes first and the joining string comes second, or vice versa. I often got it wrong, or had to look it up. To me, that's a pretty big Pythonic sin, and I don't like it. As a method of a string object, there's no confusion since there's only one argument, it has to be the sequence. This is the primary reason why I'm against making join() a built-in. It might have been better to rename the join method to something like `joining' to give an even clearer cue. SEPARATOR.joining(sequence) reads quite well to me, and I'm sure we could come up with a few alternatives. It might be good to eventually add such a thing as an alias for join, deprecating join's use, much like the old joinfields and splitfields functions. -Barry
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4