为什么有括号python

时间:2020-09-16 03:49:15

标签: python loops one-liner

如果sum([x,y])<= b“]” + [-1]),为什么在此代码中b后面的括号为何

return max([sum([x,y]) for x in keyboards for y in drives if sum([x,y]) <= b]+[-1]) 有人请解释代码

2 个答案:

答案 0 :(得分:0)

您所能获得的是:[list comprehension] + [-1]。这将创建一个将两个列表结合在一起的新列表。

无论出于何种原因,该代码的作者都希望最大值至少为-1

答案 1 :(得分:0)

您可能应该切换到突出显示匹配的花括号和括号的编辑器。

只需添加空白(Python会忽略该空白)即可重写代码:

return max(
    [
        sum(
            [
                x,y
            ]
        ) 
        for x in keyboards 
        for y in drives 
        if sum(
            [
                x,y
            ]
        ) <= b
    ]
    +
    [
        -1
    ]
)

看看方括号如何匹配?