У меня есть функция, чтобы сделать полный график. Он принимает входные данные, которые являются целыми числами, n. Функция предназначена для возврата словаря, где ключи - это узлы (от 0 до n-1), а значения - это наборы с числами, которые не включают узел. Моя функция в настоящее время такова:
def make_complete_graph(num_nodes):
new_dict = {}
new_set = set([])
for i in range(0, num_nodes):
new_dict[i] = new_set
for key, value in new_dict.items():
for j in range(0, num_nodes):
if j != key:
value.add(j)
return new_dict
, но она возвращает:
{0: {0, 1, 2, 3, 4}, 1: {0, 1, 2, 3, 4}, 2: {0, 1, 2, 3, 4}, 3: {0, 1, 2, 3, 4}, 4: {0, 1, 2, 3, 4}}
, когда я хочу, чтобы он возвратил
{0: {1, 2, 3, 4}, 1: {0, 2, 3, 4}, 2: {0, 1, 3, 4}, 3: {0, 1, 2, 4}, 4: {0, 1, 2, 3}}
Кажется, что игнорируется if j != key
линия. Как мне go решить эту проблему?