Lit*_*les 11 python string string-formatting
所以我知道Python字符串是不可变的,但我有一个字符串:
c['date'] = "20110104"
Run Code Online (Sandbox Code Playgroud)
我想转换成哪个
c['date'] = "2011-01-04"
Run Code Online (Sandbox Code Playgroud)
我的代码:
c['date'] = c['date'][0:4] + "-" + c['date'][4:6] + "-" + c['date'][6:]
Run Code Online (Sandbox Code Playgroud)
似乎有点费解,不是吗?最好将它保存为单独的变量,然后再做同样的事情吗?或者基本上没有区别?
Ble*_*der 18
你可以用.join()它来清理一下:
d = c['date']
'-'.join([d[:4], d[4:6], d[6:]])
Run Code Online (Sandbox Code Playgroud)
最好使用字符串格式而不是字符串连接
c['date'] = '{}-{}-{}'.format(c['date'][0:4], c['date'][4:6], c['date'][6:])
Run Code Online (Sandbox Code Playgroud)
字符串连接通常较慢,因为如上所述,字符串是不可变的.
日期是Python中的第一类对象,具有丰富的操作界面.该库是日期时间.
> import datetime
> datetime.datetime.strptime('20110503','%Y%m%d').date().isoformat()
'2011-05-03'
Run Code Online (Sandbox Code Playgroud)
不要重新发明轮子!