'string.join' is wrong in my Python console
Terry Reedy
tjreedy at udel.edu
Thu Dec 3 12:23:20 EST 2015
On 12/3/2015 11:00 AM, Robin Koch wrote:
> Am 03.12.2015 um 10:02 schrieb Gary Herron:
>> On 12/02/2015 10:55 PM, Robert wrote:
>>> Hi,
>>>
>>> I read the tutorial on "Why is join() a string method instead of a list
>>> or tuple method?"
>>> at link:
>>> https://docs.python.org/2/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls
>>>
>>>
>>>
>>> I have a problem on running the last line:
>>> ---------------
>>> If none of these arguments persuade you, then for the moment you can
>>> continue to use the join() function from the string module, which
>>> allows
>>> you to write
>>>
>>> string.join(['1', '2', '4', '8', '16'], ", ")
>>> -----------------------
...
>> You are trying to use the *string* module without importing it, I'd
>> guess.
>>
>> Try:
>> import string
>> first then you should be able to access string.join without error.
>
> Now *I* am confused.
>
> Shouldn't it be
>
> ", ".join(['1', '2', '4', '8', '16'])
>
> instead? Without any importing?
Yes, that is what one *should* do in late 2.x and indeed must do in 3.x,
where the string module has been stripped of the functions that later
became string methods. The FAQ entry was written when the join method
was new as a method and some people were upset by the reversal of the
order of the two arguments, an iterable of strings and the joining string.
--
Terry Jan Reedy
More information about the Python-list
mailing list