我真的很纠结于这个问题,似乎找不到一个答案。我有一个文本文件,其中有车站和位置的名称,任务是打印出车站的名称都在对方的顺序和相同的位置。
在我的文本文件中,车站的名称总是由两个字组成,位置是3个字。
text_file = "London Euston 12 London 56, Aylesbury Vale 87 Parkway 99, James Cook 76 University 87, Virginia Water 42 Surrey 78"
预期成果是:
Stations:
London Euston
Aylesbury Vale
James Cook
Virginia Water
Locations:
12 London 56
87 Parkway 99
76 University 87
42 Surrey 78
我的当前代码:
一个二个一个一个
4条答案
按热度按时间icnyk63a1#
这是一个简单直接的方法,使用for循环代替while循环。
voj3qocg2#
不要简单地打印列表,尝试先加入列表,如下所示:
您甚至可以缩短整个循环:
改为:
a5g8bdjr3#
正则表达式在这里可以派上用场,而不是手动处理字符串。首先将
text_file
拆分为每个输入一行,然后使用两个捕获组获取每个输入的站点和位置。我们将站点和位置存储在两个数组中,并在最后打印出来。8yoxcaq74#
您所做的工作会按照您的需要排列数据。您只需要正确地打印它,通过
join
ing列表。在现有代码中,如果您更改为:以及:
您将获得所需的输出。
但是如果字符串的结构总是像下面这样,就可以简化一点逻辑: