Я пытаюсь заполнить словарь, используя петлю, проблема заключается цикл останавливается после выполнения условия, не проверяя, есть ли более доступные условия выполнения, вPython для итерации цикла
sec=[
[1, 2, 4.0, 100.0],
[2, 3, 1.5, 500.0],
[2, 4, 10.0, 700.0],
[2, 5, 5.75, 1500.0],
[3, 4, 11.4, 200.0],
[4, 5, 10.5, 750.0],
[4, 6, 6.75, 550.0]]
Я сделал этот список и есть также этот словарь
graph={1: [1], 2: [2], 3: [3], 4: [4], 5: [5], 6: [6]}
, что я пытаюсь сделать это
graph = {1: ['2'],
2: ['3', '4','5'],
3: ['4'],
4: ['5','6'],
5: [],
6: []}
как он должен приста k состоит в том, что он собирает все sec[x][0]
в качестве ключа словаря и sec[n][1]
как значения в словарях , если sec [x] [0] имеет значение 1 и sec [x] [1] имеет значение 2, тогда число 2 равно добавляется в словарь в качестве значения для ключа 1 код, который я получил это
def magic(numList): #turns string into int
s = ''.join(map(str, numList))
return int(s)
for i in range(1,len(loc)+1): #len of loc is 6
for n in range(0,len(loc)+1):
if magic(graph[i])==sec[n][0]:
graph[i].append(sec[n][1])
, но это будет только добавить первое значение, то индекс п остановит отсчет, а затем индекс я продолжает идти и поэтому он не будет проверять больше значений в ключах
Трудно сказать, почему код не работает, не зная, что точно названный 'функция magic' делает. Кроме того, должны ли они быть списками строк? –
извините забыл упомянуть, что, Защиту магии (numList): #turns строка в .join ИНТ S = '' (показать на карте (улица, numList)) возвращение Int (s) в основном превращает строку в целочисленное значение – Enigma