與d
作爲你的數據,你可以使用'\ n'分割你的行,然後去掉尾部空格並找到最後一次出現的
。有了這個,你可以切分你的字符串來獲取名字和與之相關的數字。
這裏我將數據存儲到字典中。您可以根據您的要求修改它!
使用正則表達式模塊re.sub
刪除多餘的空格。
>>> import re
>>> d
'\nHouston Washington 1000\nVancouver Houston 300\nDallas Sacramento 800\nMiami Ames 2000\nSanFrancisco LosAngeles\nORD PVD 1000\n'
>>>[{'Name':re.sub(r' +',' ',each[:each.strip().rfind(' ')]).strip(),'Flight Number':each[each.strip().rfind(' '):].strip()} for each in filter(None,d.split('\n'))]
[{'Flight Number': '1000', 'Name': 'Houston Washington'}, {'Flight Number': '300', 'Name': 'Vancouver Houston'}, {'Flight Number': '800', 'Name': 'Dallas Sacramento'}, {'Flight Number': '2000', 'Name': 'Miami Ames'}, {'Flight Number': 'LosAngeles', 'Name': 'SanFrancisco'}, {'Flight Number': '1000', 'Name': 'ORD PVD'}]
編輯:
以符合您的航班快譯通,
>>> flights={'Houston':{'Washington':''},'Vancouver':{'Houston':''}} #sample dict
>>> for each in filter(None,d.split('\n')):
... flights[each.split()[0]][each.split()[1]]=each.split()[2]
你能告訴一些代碼,會寫這樣做。 – yeniv
@yeniv如果我要在我的代碼中手動插入它,它應該是這樣的:'航班['華盛頓'] ['休斯敦'] = 800'或'航班['休斯敦'] ['亞特蘭大'] = 500' – Coder117