Не удаётся избавиться от петель в генераторе не взвешенного ориентированного графа
Пытаюсь написать генератор не звешенного ориентированного графа без петель, и никак не могу избавиться от этих петель... Периодически все-таки выскакивают...
import random
def graph_gen(vertex):
vert = []
graph = dict()
for i in range(vertex):
vert.append(i)
for i in vert:
vert_ch = random.choices(vert, k = random.randint(1, vertex))
for j in vert_ch:
if j == i:
vert_ch.remove(j)
vert_ch = set(vert_ch)
graph.update([(str(i), vert_ch)])
return graph
graph_gen(10)
Подскажите, пожалуйста, куда стоит обратить внимание?
Ответы (1 шт):
Автор решения: JdS_161
→ Ссылка
Нашел в чем была проблема)
import random
def graph_gen(vertex):
vert = []
graph = dict()
for i in range(vertex):
vert.append(i)
for i in vert:
vert_ch = random.choices(vert, k = random.randint(1, vertex))
vert_ch = set(vert_ch)
vert_ch.discard(i)
graph.update([(str(i), vert_ch)])
return graph
graph_gen(10)
Нужно было не из списка убирать элемент а из множества)