擅长:python、mysql、java
<p>应该是这样的:</p>
<p><em>如Uku Loskit所述,使用集合中的OrderedDict。而且,你不需要用那么多for循环,你只需要一个。使用string.format格式(),这是python3的主要风格。</em></p>
<pre><code>import datetime
import collections
from time import strptime
date = datetime.date.today()
print "E K A D A S I 2 0 1 3 "
print "Today: {day} - {month} - {year}".format(
day = date.day,
month = date.month,
year = date.year
)
dates = collections.OrderedDict()
with open('ekadasi.txt', 'r') as file_data:
for line in file_data.readlines():
if line: # if line is not empty
day, month, name1, name2 = line.split()
temp = '{day}-{month}'.format(
day = day,
month = strptime(month, '%B').tm_mon
)
dates[temp] = str(name1 + name2)
print dates
</code></pre>