此代码段的append()如何工作?与特定变量混淆

问题描述 投票:-6回答:1

有人可以向我解释此代码吗?更具体地说,关于lead.append([sum1-sum2,1])和print(ans [1],ans [0])的部分。

我不理解“ lead.append([sum1-sum2,1])”中的“ 1”]

同样,我也不理解print(ans [1],ans [0])中的“ 1”和“ 0”。

lead = []
sum1 , sum2 = 0 , 0
for i in range(int(input())):
    a1 , a2 = map(int, input().split())
    sum1 += a1
    sum2 += a2
    if sum1>sum2:
        lead.append([sum1 - sum2 , 1])
    else:
        lead.append([sum2 - sum1 , 2])

ans = max(lead)
print(ans[1],ans[0])

谢谢。

python function append
1个回答
0
投票
lead.append([sum2 - sum1 , 2])

这是将括号内的值“加”到列表的后面。

[sum2 - sum1, 2] <- inside the brackets

您指的2或1本身在列表内。因此,您将这些条目添加到列表中。该代码似乎检查sum1 / sum2中哪个较大,然后减去较小的一个,并将相应的值添加到列表“ lead”。

最后一行,假设列表中的所有项目都是列表本身,应打印子列表的第二个值,然后是子列表的第一个值。

In [18]: lead = [[100, 2], [200, 1], [400, 3]]

In [19]: max(lead)
Out[19]: [400, 3]

In [20]: ans = max(lead)

In [21]: print(ans[1], ans[0])
3 400
© www.soinside.com 2019 - 2024. All rights reserved.