在括号内使用python for循环

时间:2020-03-17 17:44:17

标签: python list python-2.7 loops for-loop

实际上我今天遇到了一个代码,如下所示:

def solution(ar,n):
    d={i: ar[i] for i in range(n)}
    for i in range(n-1):
        for j in range(i+1,n-1):
            if(ar[i]+ar[j]) in d.values():
                return "Yes"
        return "No"

因此在此功能中,我无法理解此行代码

d= {i : ar[i] for i in range(n)}

有人可以向我解释这段代码的作用以及这种语法吗?

1 个答案:

答案 0 :(得分:0)

在Python中,可以简化for循环:

l = []
for i in range(3):
    l.append(i)

可以用

简化
l = [i for i in range(3)]

相同的规则也可以应用于字典。给定的行定义了一个字典(d),其中每个元素都有键i和值ar [i]。它是以下代码的简短版本。

d = dict()
for i in range(n):
    d[i] = ar[i]