#疑问?列表解析的时候的 if 到底写在那里,为什么 QAQ
> data = ['http:' + x if x.find ('http:') == -1 else x for x in data ]
这是列表解析配合三元操作符的一个例子吧
而列表解析本身是可以
> data=['http:' + x for x in data if x.find ('http:') == -1]
我查了一下:
> 单独的 if 语句(不带 else )只有在列表解析里或者 lambda 的主体表达式里才能使 用
但是带 else 的 if 语句在任何情况下都可以使用,相当于三元操作符
但是一会儿写在 for 前,一会在 for 后,这是什么逻辑。
> data = ['http:' + x if x.find ('http:') == -1 else x for x in data ]
这是列表解析配合三元操作符的一个例子吧
而列表解析本身是可以
> data=['http:' + x for x in data if x.find ('http:') == -1]
我查了一下:
> 单独的 if 语句(不带 else )只有在列表解析里或者 lambda 的主体表达式里才能使 用
但是带 else 的 if 语句在任何情况下都可以使用,相当于三元操作符
但是一会儿写在 for 前,一会在 for 后,这是什么逻辑。