Использование python для l oop внутри скобок - PullRequest
0 голосов
/ 17 марта 2020

На самом деле сегодня я сталкиваюсь с одним кодом, который показан ниже:

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 голосов
/ 17 марта 2020

В 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...