2013-08-27 14 views
0

我有一个包含时间和活动字符串的元组。因此,这将是与此类似:在换行符上分割python中的字符串

('08:01: Woke Up\n08:05: Took Shower\n08:20: Ate Breakfast\n08:45: Left for work',) 

我需要能够把每一项活动,并显示个别像这样:

8:01 Woke Up 
8:05 Took Shower 
8:20 Ate Breakfast 
8:45 Left for work 

谁能给我最好/最简单的方法建议在Python中做到这一点?谢谢。

回答

9

已经有换行符的元素,所以只打印:

>>> tup = ('08:01: Woke Up\n08:05: Took Shower\n08:20: Ate Breakfast\n08:45: Left for work',) 
>>> print tup[0] 
08:01: Woke Up 
08:05: Took Shower 
08:20: Ate Breakfast 
08:45: Left for work 

您可以通过使用str.splitlines()打出字符串转换成单独的元素:

>>> tup[0].splitlines() 
['08:01: Woke Up', '08:05: Took Shower', '08:20: Ate Breakfast', '08:45: Left for work'] 
>>> for line in tup[0].splitlines(): 
...  print line 
... 
08:01: Woke Up 
08:05: Took Shower 
08:20: Ate Breakfast 
08:45: Left for work 

你应该要求时间和活动作为单独的字符串,分割字符串上的每一行': '

>>> for line in tup[0].splitlines(): 
...  time, activity = line.split(': ', 1) 
...  print time, activity 
... 
08:01 Woke Up 
08:05 Took Shower 
08:20 Ate Breakfast 
08:45 Left for work 
+0

伟大的答案。如果你想将每一行分成时间和活动,你可以使用'line.split(None,1)'或'line.partition('')'。 – abarnert

+0

@abarnert:实际上分割为'':'';现在我的输出与问题示例相匹配。 –

+0

非常详细和现场答案。谢谢,并感谢其他回复。 – avaholic

0
>>> t = ('08:01: Woke Up\n08:05: Took Shower\n08:20: Ate Breakfast\n08:45: Left for work',) 
>>> for elem in t: 
...  print elem.split('\n') 
... 
['08:01: Woke Up', '08:05: Took Shower', '08:20: Ate Breakfast', '08:45: Left fo 
r work'] 
>>> for elem in t: 
...  for activity in elem.split('\n'): 
...    print activity 
... 
08:01: Woke Up 
08:05: Took Shower 
08:20: Ate Breakfast 
08:45: Left for work 
>>> for elem in t: 
...  print elem 
... 
08:01: Woke Up 
08:05: Took Shower 
08:20: Ate Breakfast 
08:45: Left for work 
0

你似乎没有一个元组,你有一个字符串,如果你打印,它会给你准确的东西。

假设你有一个元组列表(我以为是你的意思),你应该做这样的事情:

input = [("8:01", "Woke Up"), ("8:05", "Took shower"), ("8:20", "Ate Breakfast")] 
for time, description in input: 
    print time, description 
0

你有没有想过字典?您可以将时间信息键和活性值,存储为这样的:

dictionary = {} 
dictionary['8:01'] = 'Woke Up' 
dictionary['8:05'] = 'Took Shower' 
dictionary['8:20'] = 'Ate Breakfast' 
dictionary['8:45'] = 'Left for work' 

然后你可以简单地做格式打印:

for k in dictionary: 
    print k + ' ' + dictionary[k]