在 Python 列表推导的情况下,如何保持每行最多 79 个字符?

在 Python 列表推导的情况下,如何保持每行最多 79 个字符?

我有一个由 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

相关内容