Вы можете использовать split
и zip
.
def extract(string):
lines = string.split(";")
split_lines = tuple(map(lambda line: line.split(","), lines))
no_space1 = tuple(map(lambda item: item.strip(), split_lines[0]))
no_space2 = tuple(map(lambda item: item.strip(), split_lines[1]))
return list(zip(no_space1, no_space2))
Это даст
[('James', 'Shenna'), ('Jose', 'Laureles'), ('664 New Avenue', '288 Livinghood Heights'), ('New Orleans', 'Brighton'), ('Orleans', 'Living
ston'), ('LA', 'MI'), ('8/27/200', '2/19/75'), ('123', 'laureles9219@yahoo.com'), ('jjose@gmail.com', '')]
В конце есть несколько кортежей, о которых вы не просили, но это относительно хорошо. Строки no_space
1 и 2 немного повторяются, но, на мой взгляд, втиснуть их в одну строку хуже.