Odd list behavior

Rhodri James rhodri at wildebst.demon.co.uk
Fri May 15 01:44:09 CEST 2009


On Thu, 14 May 2009 17:49:33 +0100, norseman <norseman at hughes.net> wrote:

> Rhodri James wrote:
>> On Wed, 13 May 2009 23:08:26 +0100, norseman <norseman at hughes.net>  
>> wrote:
>>
>>> Evan Kroske wrote:
>>>> I'm working on a simple file processing utility, and I encountered a  
>>>> weird error. If I try to get the first element of a list I'm  
>>>> splitting from a string, I get an error:
>>>>  key = string.split()[0]
>>>> Error!
>>>>  However, I can slice the list like normal, but that gives me a  
>>>> one-element-long list:
>>>>  key = string.split()[:1]
>>>> Success!
>>>>  Finally, the operation works perfectly if I initialize the list  
>>>> beforehand:
>>>>  list = string.split()
>>>> key = list[0]
>>>> Success!
>>>>  Why does this happen?
>>
>>>
>>> ==========================
>>> Take a look at the  split() command.
>>>
>>> I think you will find you need one var on the left side for each piece  
>>> on the right.
>>  Given that he's immediately indexing the split results, that's  
>> irrelevant.
>> There's no point in even guessing with out the traceback.
>>

> "...the first element of a list..."
> "key = string.split()[0]"
> if the list is a list of tuples the error message is correct.

What error message?  The OP still hasn't told us what error he got.

In any case, you aren't correct.  First, the str.split() method
returns a list of strings, so there are no tuples in sight.  Second,
even if it did, all that means is that "key" is a tuple, which it's
perfectly well allowed to be.

-- 
Rhodri James *-* Wildebeeste Herder to the Masses



More information about the Python-list mailing list