我有一个由 1 行组成的函数。它类似于:
return [item for item in list if something_very_long and something_else_very_long] == []
如何最适当地分离此声明以坚持PEP-8 准则规定每行最多保留 79 个字符?我在 PEP-8 文档中找不到这样的示例。
答案1
其他答案说你应该将列表理解重写为普通循环。这比那容易得多,而且你可以保留列表理解。
您可以在任何您想要的地方进行拆分,它与带括号的语句相同。
# Splitting too much just for the sake of example
return [item for item in list if
something_very_long and
something_else_very_long] == []
答案2
我投票关闭。这真的与 Ubuntu 无关。以防万一你需要快速得到答案:如果列表推导太复杂,请不要使用列表推导。试试看。
original_li = [1,2,3,4,5]
new_li = []
for itm in original_li:
if condition1 and condition2:
new_li.append(itm)
或者如果条件仍然太长:
original_li = [1,2,3,4,5]
new_li = []
for itm in original_li:
if condition1:
if condition2:
new_li.append(itm)
现在您有了所需的列表。当然,您可以将其包装在一个函数中。
答案3
它与
var1=[]
for item in list:
if something_very_long and something_else_very_long:
var1.append(item)
if var1: return var1