python3 每两位数字插一个空格,怎么实现

2018-10-07 18:24:43 +08:00
 angel725
010609162526
变成
01 06 09 16 25 26

没想出来该怎么做??
7181 次点击
所在节点    Python
39 条回复
JerryV2
2018-10-08 09:11:23 +08:00
正则很好,但是请在合适的时候使用它
这么个简单的东西没必要上正则,不见得写正则会比写切片快,论执行速度,更是不可能比切片快
说正则快,不过是懒得思考,来个东西,正则能做,就用正则了
也许说的有点多了,不喜欢看的人就直接跳过好了
yufpga
2018-10-08 09:14:04 +08:00
s = '010609162526'
result = [s[i:i+2] for i in range(0, len(s), 2)]
gowk
2018-10-08 09:16:35 +08:00
我觉得吧,不是我打击新人,这种能 google 出来的就不要发帖了,这都解决不了,你也不适合做程序员
wizardoz
2018-10-08 09:26:33 +08:00
' '.join([a+b for a,b in zip(s[0::2], s[1::2])])
cbiqih
2018-10-08 09:39:14 +08:00
import re

number = "123456789"
result = re.findall("\d{1,2}", number)

print(result) # ['12', '34', '56', '78', '9']
imn1
2018-10-08 09:58:14 +08:00
如果「没想到优雅写法」还好说
「没想出来」就很糟糕了,因为实在太多方法了,一个都没想到?
xpresslink
2018-10-08 10:34:53 +08:00
真正用 Python 的人思维方式应该是这样的:

>>> import textwrap
>>> ' '.join(textwrap.wrap(text='010609162526', width=2))
'01 06 09 16 25 26'
Les1ie
2018-10-08 10:40:29 +08:00
@ltoddy 想到了用 s[::2] 然而当时没想到用 join.. 于是退一步写了+=
laqow
2018-10-08 11:04:26 +08:00
这个是在黑这么简单的东西 python 怎么写性能都低的吧
a494836960
2018-10-08 11:25:22 +08:00
/(\w{2})(?!\b)/g
a494836960
2018-10-08 11:26:00 +08:00
js '1123123qweqw'.replace(/(\w{2})(?!\b)/g,'$1 ')
vimiix
2018-10-08 14:21:46 +08:00
看样子是一组双色球号码~~
woodensail
2018-10-08 14:25:01 +08:00
@JerryV2 正则本身就不是强调执行速度快,而是开发效率高。
woodensail
2018-10-08 14:27:40 +08:00
一般的做法是这类需求正则方便做就先正则顶着,然后 profile 后针对热点区域的正则进行优化或换用其他方式实现。
JCZ2MkKb5S8ZX9pq
2018-10-08 15:54:43 +08:00
我觉得切片比较好。不过提供个不同的思路玩玩
''.join([''.join(i) for i in zip(s, ['', ' '] * len(s))])
zjlletian
2018-10-08 23:15:43 +08:00
@gowk 其实这个看似简单的问题,实际上也有很多学问,虚心点看看别人怎么写的不好么?
lsj8924
2018-10-09 00:32:53 +08:00
对不住老铁们了,我是一个正则患者。
![]( )
mingyun
2018-10-14 14:10:27 +08:00
@lsj8924 这个 6
xiii1991
2018-10-16 18:16:09 +08:00
我们也可以直接手打着一串东西,然后直接 print ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/495384

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX