我对python比较陌生,想从头开始编写干净的代码。我需要一个字符串解析器,它将“20140101”形式的日期格式化为“2014-01-01”。我是如何实现这一目标的是:
def parse(date):
list_date = list(date)
list_date.insert(4,"-")
list_date.insert(7,"-")
return "".join(list_date)
效果很好但看起来不是很干净。也许没有其他解决方案,但如果有更多的pythonic方式来编码,如果你愿意分享它,将不胜感激!
答案 0 :(得分:3)
def parse(date):
return "{}-{}-{}".format(date[:4], date[4:6], date[6:])
可能会犯一个小错误,但考虑到你这样做,这应该可以解决问题。
有关Python的字符串格式的详细信息,另请参阅pyformat.info。
另外,我建议查看datetime模块,了解更多有关更多Pythonic处理日期的方法的信息。 ;)
答案 1 :(得分:0)
您可以使用格式,如B. Eckles所述。但你也可以这样做:
def parse(date):
return "%s-%s-%s" % (date[:4], date[4:6], date[6:])
使用格式似乎是不必要的,因为除了替换部分字符串之外,您实际上并没有使用它。