'string.join' is wrong in my Python console

Robin Koch robin.koch at t-online.de
Thu Dec 3 11:00:32 EST 2015


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'], ", ")
>> -----------------------
>>
>> My Python console is 2.7. It should be no problem because I see the
>> tutorial
>> is 2.7 too.
>>
>> The console has these display:
>>
>> string.join(['1', '2', '4', '8', '16'], ", ")
>> ---------------------------------------------------------------------------
>>
>> NameError                                 Traceback (most recent call
>> last)
>> <ipython-input-15-3947890a7e6e> in <module>()
>> ----> 1 string.join(['1', '2', '4', '8', '16'], ", ")
>>
>> NameError: name 'string' is not defined
>>
>>
>>  From the context, I don't see string should be replaced by something
>> else.
>>
>> Could you tell me why I have such an error?
>
> 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?

-- 
Robin Koch



More information about the Python-list mailing list