![在 Python 列表推导的情况下,如何保持每行最多 79 个字符?](https://linux22.com/image/850726/%E5%9C%A8%20Python%20%E5%88%97%E8%A1%A8%E6%8E%A8%E5%AF%BC%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E5%A6%82%E4%BD%95%E4%BF%9D%E6%8C%81%E6%AF%8F%E8%A1%8C%E6%9C%80%E5%A4%9A%2079%20%E4%B8%AA%E5%AD%97%E7%AC%A6%EF%BC%9F.png)
我有一个由 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