Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 17.04.2015
Сообщений: 31

Ключ с номером 0 не найден в словаре

19.11.2023, 15:22. Показов 1024. Ответов 1

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Подскажите пожалуйста, как исправить ошибку KeyError : 0 ?

Я уже прочитал, что это означает, что ключ с номером 0 не найден в словаре. Но где именно это используется в коде и что нужно изменить я не понимаю.


Код следующий :

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import networkx as nx
import itertools
import numpy as np
 
def calculate_rmsd(graph1, graph2):
    # Проверка, что оба графа имеют одинаковое количество вершин
    if len(graph1) != len(graph2):
        return "Графы имеют разное количество вершин"
 
    # Создание матрицы расстояний для каждого графа
    dist_matrix1 = create_distance_matrix(graph1)
    dist_matrix2 = create_distance_matrix(graph2)
 
    # Вычисление среднеквадратичного отклонения между матрицами расстояний
    rmsd = np.sqrt(np.mean(np.square(dist_matrix1 - dist_matrix2)))
 
    return rmsd
 
def create_distance_matrix(graph):
    # Создание матрицы расстояний для графа
    n = len(graph)
    dist_matrix = np.zeros((n, n))
 
    for i in range(n):
        for j in range(n):
            # Вычисление Евклидова расстояния между координатами вершин
            dist_matrix[i][j] = np.linalg.norm(graph[i] - graph[j])
 
    return dist_matrix
 
 
 
 
 
 Определяем функцию для поиска всех изоморфизмов графа
def find_isomorphisms(graph):
    # Инициализируем список для хранения всех изоморфизмов
    isomorphisms = []
 
    # Получаем список всех вершин графа
    nodes = list(graph.nodes())
 
    # Генерируем все возможные перестановки вершин графа
    permutations = itertools.permutations(nodes)
 
    # Перебираем все перестановки вершин
    for permutation in permutations:
        # Создаем временный граф с использованием текущей перестановки
        temp_graph = nx.relabel_nodes(graph, dict(zip(nodes, permutation)))
 
        # Проверяем, является ли временный граф изоморфным с исходным графом
        if nx.is_isomorphic(graph, temp_graph):
            # Добавляем изоморфный граф в список изоморфизмов
            isomorphisms.append(temp_graph)
 
    # Возвращаем список всех изоморфизмов
    return isomorphisms
 
# Основная часть программы
# Создаем граф с пронумерованными вершинами
graph = nx.Graph()
graph.add_nodes_from([1, 2, 3])
 
# Добавляем ребра в граф
graph.add_edges_from([(1, 2), (2, 3)])
 
# Вызываем функцию поиска всех изоморфизмов
isomorphisms = find_isomorphisms(graph)
 
# Выводим найденные изоморфизмы и вычисленные значения RMSD
for i, isomorphism in enumerate(isomorphisms):
    rmsd = calculate_rmsd(graph, isomorphism)
    print(f"Изоморфизм {i+1}: {isomorphism}, RMSD: {rmsd}")
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2023, 15:22
Ответы с готовыми решениями:

Данный ключ отсутствует в словаре
Добрый вечер. Заранее извиняюсь за низкую осведомленность по теме. При написании работы столкнулся с данной ошибкой. Есть приложение...

Данный ключ отсутствует в словаре
Создал проект MVC в VS2017. Открыл его в VS2013. Компилируется и запускается нормально. Но в файле контроллера почему-то не...

Данный ключ отсутствует в словаре!
что это за ошибка такая? часть проги вы увидите на картинке! подскажите, в чем же может быть ошибка! или что это означает??!

1
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
19.11.2023, 20:47
Используется вот тут. К словарю (graph[i]) обращаются по ключу, а не по индексу. Вот и нет элемента graph[0].
Исправить можно, сделав цикл по всем именам всех вершин вашего графа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2023, 20:47
Помогаю со студенческими работами здесь

Как изменить ключ в словаре?
хочется чтобы в следующем коде пользователь мог сменить логин и пароль: users_passwords = { 'guest01': '1111', 'rim41':...

Как в словаре получить ключ по значению?
Как(какой) словарь использовать, что бы можно возвращать как значение по ключу, так и ключ по значению. т.е. 1 = Вася 2 = Петя ...

Работа с парами ключ:значение в словаре
Вот допустим я создал словарь,ключом является сам товар,значением-сочетание категории товара и его цены. ...

Почему не проверяет есть ли ключ в словаре?
вот такой у меня словарь private Dictionary<int, int> CellsMoove = new Dictionary<int, int>(); я проверяю если нет такого значения то...

Данный ключ отсутствует в словаре. Dictionary
Всем привет. Выкладываю кусок кода. Проблема: когда запускаю программа пишет ошибку в строке 46. Почему? Почему он не переводит с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru