Created
September 4, 2017 20:06
-
-
Save cjw296/4b21ad50b4e5f27816503c62ea7346b8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from collections import defaultdict | |
import re | |
order = 'ID', 'GE', 'FN', 'LN','MN', 'EM', 'ST' | |
MAX_NUM = int(input ("Please enter the number of records: ")) | |
records = [] | |
while len(records) < MAX_NUM: | |
new_records = input("Please enter some records separated by ';' or '!': ") | |
for record in re.split('[!;]', new_records): | |
records.append(record) | |
for i, record in enumerate(records, start=1): | |
parsed = defaultdict(list) | |
for pair in record.split(): | |
key, value = pair.split(':') | |
parsed[key].append(value) | |
ordered = [] | |
for key in order: | |
for value in parsed[key]: | |
ordered.append(key+':'+value) | |
print(' '.join(ordered)) | |
if i>MAX_NUM: | |
break |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment