[MarkH agonizes, over whether to auto-convert or not] Well, the rule *could* be that the result type is the widest string type among the separator and the sequences' string elements (if any), and other types convert to the result type along the way. I'd be more specific, except I'm not sure which flavor of string str() returns (or, indeed, whether that's up to each __str__ implementation). In any case, widening to Unicode should always be possible, and if "widest wins" it doesn't require a multi-pass algorithm regardless (although the partial result so far may need to be widened once -- but that's true even if auto-convert of non-string types isn't implemented). Or, IOW, sep.join([a, b, c]) == f(a) + sep + f(b) + sep + f(c) where I don't know how to spell f, but f(x) *means* x' = if x has a string type then x else x.__str__() return x' coerced to the widest string type seen so far So I think everyone can get what they want -- except that those who want auto-convert are at direct odds with those who prefer to wag Guido's fingers and go "tsk, tsk, we know what you want but you didn't say 'please' so your program dies" <wink>. master-of-fair-summaries-ly y'rs - tim
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