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 -- http://mail.python.org/mailman/listinfo/python-list