Я пытаюсь создать полный график в словаре Python в 1 строке. Но при создании понимания списка для значений я не могу понять, как указать, что key_value не может отображаться в списке значений (говоря на графике, нет цикла).
для n узлов
G = {k:[v for v in range(n)] for k in range(n) }
приводит к этому (пример n = 3)
{0: [0, 1, 2], 1: [0, 1, 2], 2: [0, 1, 2]}
но то, что я хочу, это
{0: [1, 2], 1: [0, 2], 2: [0, 1]}
Но попробуй что-то похожее на это
G = {k:[v for v in range(n) for v !=k] for k in range(n) }
вызовет ошибку в k в понимании списка. Таким образом, k должно выходить за рамки понимания списка, что имеет смысл.
Можно ли определить G этим методом?
{ k:[v for v in range(n) if v != k] for k in range(n) }
Можно игнорировать значение v аналогично текущему значению k. - person Tanveer Alam   schedule 07.06.2015