与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