1
cc7756789 2015-07-01 20:23:57 +08:00
url_no_scheme = url.split('://', 1)[1] if url.split('://', 1)[1] else ''
这样也行啊! |
2
czheo 2015-07-01 21:16:47 +08:00
知道ruby的rescue的好了吧
|
5
saber000 2015-07-02 10:48:09 +08:00
|
6
jackyspy 2015-07-02 11:48:37 +08:00 1
这样异常真的好吗?
(url.split('://', 1)+['',''])[1] (lambda x: x[1] if len(x)==3 else '')(url.split('://', 1)) |
10
laoyuan OP 哈哈,我想出来了 ([''] + url.split('://', 1))[-2]
|
11
laoyuan OP @jackyspy 有什么办法能让re.match、re.search 写成比较美观的一行流呢?
url_no_scheme = re.search(r'://(.+)', url).group(1) if re.search(r'://(.+)', url) else '' |
12
fburst 2015-07-02 17:32:40 +08:00
不喜欢一行的风格,难读。
|
13
picasso250 2015-07-02 19:13:48 +08:00
@laoyuan 比较好奇,PHP哪里面向对象不完全了。。。你举个例子?
|
14
laoyuan OP @picasso250 我就随口那么一说,你就随便那么一听好了~
|
15
laoyuan OP 我感觉Ruby 兼有PHP 的动态灵活性和 PHP、Python 比较完全的面对对象
|
16
Anybfans 2015-07-02 21:28:16 +08:00
我感觉这样写就失去python的特点了啊。。不太容易维护
|
17
thinker3 2015-07-02 22:20:31 +08:00
不易读
|
19
laoyuan OP @thinker3 今天还学了个一行流,感觉挺好
a = [each_num for each_num in [1, 6, 3, 7] if each_num > 5] |
20
WKPlus 2015-07-06 12:40:10 +08:00
就你这个问题而言,url.split("://", 1)[-1] 就好了
|
23
kaneg 2015-07-06 14:06:10 +08:00
关键不是能不能写在一行,而是你不应该用抛异常的方式来控制业务逻辑
|