1
pkuphy 2016-05-15 13:09:51 +08:00
```python
'-'.join([str(i) for i in range(4)]) ``` |
2
pkuphy 2016-05-15 13:10:36 +08:00 1
```
'-'.join([str(i) for i in range(4)]) ``` |
3
snoopygao OP 多谢,以前只注意到 split ,没注意到 join
|
4
lunaticus7 2016-05-15 13:41:55 +08:00
'-'.join(map(str, range(4)))
不过按照现在的趋势, map 不太推荐使用了 |
5
SakuraSa 2016-05-15 13:54:27 +08:00 1
既然是 py3 的话,是不是可以这样:
print(*range(4),sep='-') |
6
junnplus 2016-05-15 14:02:02 +08:00
发现 ruby 写起来好优雅
(1..4).to_a.join('-') |
7
billlee 2016-05-15 14:15:31 +08:00
'-'.join((str(i) for i in range(4)))
|
8
yhylord 2016-05-15 20:06:49 +08:00
@lunaticus7 为什么不推荐用 map 呢?
|
9
lunaticus7 2016-05-16 09:46:39 +08:00
@yhylord 推荐使用 list comprehension 取代 map 、 filter 等函数,更自由,并且表现力更高。
成文的规定可以参考: https://google.github.io/styleguide/pyguide.html#Deprecated_Language_Features # map and filter map(lambda x:x+1, filter(lambda x:x%3, range(10))) # same as LC [x+1 for x in range(10) if x%3] |
10
mornlight 2016-05-16 10:42:13 +08:00
@lunaticus7 map,reduce,filter 是函数式编程的思维,直接建议用其他方式替代是不是太粗暴了,那个 guide 原文里的意思是这些函数的参数里有 lambda 表达式时考虑替代。
|