Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 10, 2015 16:38:25

diga
Зарегистрирован: 2015-11-10
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

как составить смежности вершин?

Доброго времени суток!
Хочу получить такого рода переменную:

inc = {
    1: [2, 8],
    2: [1, 3, 8],
    3: [2, 4, 8],
    4: [3, 7, 9],
    5: [6, 7],
    6: [5],
    7: [4, 5, 8],
    8: [1, 2, 3, 7],
    9: [4],
}

для этого я считываю файл:
def extract_data(filename):
    infile = open(filename, 'r')    
    numbers = []
    vers1 = []
    vers2 = []
    vers = []
    
    for line in infile:
        res = line.split()
        ver1 = float(res[0])
        ver2 = float(res[1])
        
        vers1.append(ver1)
        vers2.append(ver2)
        
    infile.close()
    print vers1
    print vers2
values = extract_data('text.txt')
каким образом теперь мне построить такого рода матрицу как inc? (матрица смежности вершин в графе)
результат после считывания файла:
v = [1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0 и т.д.]
u = [2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 1.0 и т.д.]
надо как сделать проверку в первой строке, если следующий элемент совпадает с текущим то добавляем в текущий список элемент u номеру которого совпадает с номером элемента из v, иначе создаем новый список.. что то типо
1:[2, 3, 4, 5]
2:[6, 7, 8, 1]

помогите это реализовать!

Отредактировано diga (Ноя. 10, 2015 16:38:54)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version