Fixed length lists from .split()?
Bob Greschke
bob at passcal.nmt.edu
Fri Jan 26 13:26:46 EST 2007
On 2007-01-26 11:13:56 -0700, Duncan Booth <duncan.booth at invalid.invalid> said:
> Bob Greschke <bob at passcal.nmt.edu> wrote:
>
>> Is there a fancy way to get Parts=Line.split(";") to make Parts always
>> have three items in it, or do I just have to check the length of Parts
>> and loop to add the required missing items (this one would just take
>> Parts+=[""], but there are other types of lines in the file that have
>> about 10 "fields" that also have this problem)?
>
>>>> def nsplit(s, sep, n):
> return (s.split(sep) + [""]*n)[:n]
>
>>>> nsplit("bcsn; 1000001; 1456", ";", 3)
> ['bcsn', ' 1000001', ' 1456']
>>>> nsplit("bcsn; 1000001", ";", 3)
> ['bcsn', ' 1000001', '']
That's fancy enough. :) I didn't know you could do [""]*n. I never
thought about it before.
Thanks!
Bob
More information about the Python-list
mailing list