编辑:已解决
很抱歉,如果这是一个noob问题,我尝试了谷歌,IRC,并在经过相当大的努力后,在我无法弄清楚之后在其他地方询问。
无论如何,我正在尝试用我们程序中的值替换月份名称。所有月份都是3个字母。
所以我想把Jan,Feb,...换句话说,用01,02替换它们,12。
问题是,它们现在放在一个大字符串中,其余的日期都是数字形式,并且几个月之间没有确切的距离。
我该怎么做?
以下是我正在尝试做的一个可见示例:
说你有字符串
'abcdefghijklmnop'
哪里
'bcd','fgh', and 'nop' are values 01,02,and 03 respectively.
我想将字符串返回为:
a01e02ijklm03
到目前为止,我所能做的就是一次排序3个字母,并根据字典测试它们的值,但是第二个我点击非字典值(几乎立即)它给了我一个错误并停止
有人可以帮忙吗?
我刚才提到的破碎代码:
#filterTwo changes month names into numbers (ex: Jan -> "01", Dec -> "02", ..)
month_dictionary = {
'Jan': "01",
'Feb': "02",
'Mar': "03",
'Apr': "04",
'May': "05",
'Jun': "06",
'Jul': "07",
'Aug': "08",
'Sep': "09",
'Oct': "10",
'Nov': "11",
'Dec': "12"
}
filterTwo = ''
words = []
for start in range(0, len(filterOne),3):
words.append(filterOne[start:(start + 3)])
for word in words:
filterTwo += "%s" % (month_dictionary[word])
print filterTwo
答案 0 :(得分:4)
s = 'abcdefghijklmnop'
d = {'ab':'1', 'ij':'3'}
for i in d:
s = s.replace(i, d[i])
输出
'1cdefgh3klmnop'
答案 1 :(得分:0)
for month_name,month_number in month_dictionary.items():
filterOne.replace(month_name,month_number)
print filterOne