Sorting a list depending of the indexes of another sorted list
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Mon Jan 21 07:52:23 EST 2008
On Mon, 21 Jan 2008 17:32:42 +0800, J. Peng wrote:
> Steven D'Aprano 写道:
>> On Mon, 21 Jan 2008 16:23:50 +0800, J. Peng wrote:
>>
>>> J. Peng 写道:
>>>
>>>> k = (i.split())[3]
>>>> y = (i.split())[1]
>>> btw, why can't I write the above two into one statement?
>>>
>>> (k,y) = (i.split())[3,1]
>>
>> I don't know. What's "i"?
>>
>> I'm guessing "i" is a string (and what a horrible choice of a name for
>> a string!) So i.split() will return a list. List indexing with multiple
>> arguments isn't defined, which is why you can't write
>>
>> k, y = (i.split())[3,1]
>>
>>
> Thanks.
> Then one have to split the list twice.Given the list is large,it's maybe
> not good for performance.Is it a more effective split way?
Yes, split the string once and store it.
words = "Nobody expects the Spanish Inquisition!"
alist = words.split()
k = alist[3] # "Spanish"
y = alist[1] # "expects"
--
Steven
More information about the Python-list
mailing list