"Dasn" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
> Hi, there.
>
> 'lines' is a large list of strings each of which is seperated by '\t'
> >>> lines = ['bla\tbla\tblah', 'bh\tb\tb', ... ]
>
> I wanna split each string into a list. For speed, using map() instead
> of 'for' loop.

Try this.  Not sure how it stacks up for speed, though.  (As others have
suggested, if 'for' loop is giving you speed heartburn, use a list
comprehension.)

In this case, splitUsing is called only once, to create the embedded
function tmp.  tmp is the function that split will call once per list item,
using whatever characters were specified in the call to splitUsing.

-- Paul



data = [
"sldjflsdfj\tlsjdlj\tlkjsdlkfj",
"lsdjflsjd\tlsjdlfdj\tlskjdflkj",
"lskdjfl\tlskdjflj\tlskdlfkjsd",
]

def splitUsing(chars):
    def tmp(s):
        return s.split(chars)
    return tmp

for d in map(splitUsing('\t'), data):
    print d


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to