Если вы не хотите регулярное выражение, вы делаете это:
Это предполагает, что у вас есть много строк ввода и помещая их все в список списков.
Возвращает список списков, где каждый элемент является правильно проанализированной строкой.
Это предполагает только то, что ваши поля разделены пробелом, и вы не хотели бы иметь канал между первыми двумя полями.
# one line of input
text = 'hellow world 1,000 2,000'
testlist = text.split(' ')
# all your input
list_of_all_text = [testlist] + [testlist] + [testlist]
first_feilds = map(lambda x: x[0]+' '+x[1],list_of_all_text)
last_feilds = map(lambda x: x[2:],list_of_all_text)
all_feilds = map(lambda x,y: [x]+y,first_feilds,last_feilds)
parsed_feilds = map(lambda x: '|'.join(x),all_feilds)
print parsed_feilds
или менее читаемый и более компактный:
text = 'hellow world 1,000 2,000'
testlist = text.split(' ')
list_of_all_text = [testlist] + [testlist] + [testlist]
map(lambda x: '|'.join(x),map(lambda x,y: [x]+y,map(lambda x: x[0]+' '+x[1],list_of_all_text),map(lambda x: x[2:],list_of_all_text)))