Попытка проанализировать значения между списками списков - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть 5 списков с переменным количеством индексов.Первый - это списки азимутов:

lista_az = ['72', '252'], ['90.9', '270.8'], ['78.4', '258.3'], ['280', '100.3'], ['327.1', '147.1'], ['259.1', '293.8', '79.1', '113.8'], ['126.9', '306.8'], ['205.9', '25.9', '41.5', '221.5'] (...)

Список Tx:

tx = ['8468.00000000 MHz', '8349.00000000 MHz'], ['8349.00000000 MHz', '8468.00000000 MHz'], ['8482.00000000 MHz', '8363.00000000 MHz'], ['8468.00000000 MHz', '8349.00000000 MHz'], ['15.20100000 GHz', '14.78100000 GHz'], ['14.76700000 GHz', '14.80900000 GHz', '15.18700000 GHz', '15.22900000 GHz'], ['1508.50000000 MHz', '1443.00000000 MHz'], ['1450.00000000 MHz', '1515.50000000 MHz', '8468.00000000 MHz', '8349.00000000 MHz'] (...)

Список Rx:

rx = ['8349.00000000 MHz', '8468.00000000 MHz'], ['8468.00000000 MHz', '8349.00000000 MHz'], ['8363.00000000 MHz', '8482.00000000 MHz'], ['8349.00000000 MHz', '8468.00000000 MHz'], ['14.78100000 GHz', '15.20100000 GHz'], ['15.18700000 GHz', '15.22900000 GHz', '14.76700000 GHz', '14.80900000 GHz'], ['1443.00000000 MHz', '1508.50000000 MHz'], ['1515.50000000 MHz', '1450.00000000 MHz', '8349.00000000 MHz', '8468.00000000 MHz'] (...)

Список поляризации:

pol = ['V', 'V'], ['H', 'H'], ['V', 'V'], ['V', 'V'], ['V', 'V'], ['V', 'V', 'V', 'V'], ['V', 'V'], ['V', 'V', 'V', 'V'] (...)

Список сети:

net = ['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6', '6', '6'], ['7', '7'], ['8', '8', '8', '8']

Я пытаюсь сравнить каждый элемент в том же списке, для списка Azimute:

Azimute(list 1) = 252 - 72 =  180 OK
Azimute(list 2) = 90.9 - 270.8 =~ -180 OK

Сравнить первый список Txи первый список Rx,

first tx: 8468.00000000 with second Rx: 8468.00000000, and 
second tx with first rx, and so on.

Попытка найти совпадения (равные значения) tx и rx.

В списке поляризации, если первый элемент равен второму, если первый равен третьему(только если список имеет этот размер), и т. д.

Я попытался сделать следующее:

for lista in range(1, len(lista_az)):
    for x in range(0, len(lista_az[lista])-1):
        try:
            if net[lista][x] == net[lista][x+y]:
                if tx[lista][x] == rx[lista][x+y]:
                    if tx[lista][x+y] == rx[lista][x]:
                        if round(abs(float(lista_az[lista][x]) -float(lista_az[lista][x+y]))) == 180:
                            if pol[lista][x] == pol[lista][x+y]:
                                print("Link of list: ", lista)
                                print("Latitude A: ", lat[lista][x]); 
                                print("Latitude B: ", lat[lista][x+y])
                                print("Longitude A: ", lon[lista][x]); print("Longitude B: ", lon[lista][x + y])
                                print("Height A: ", hei[lista][x]); print("Height B: ", hei[lista][x+y])
        except IndexError:
               value = None

Ожидаемый результат будет (для первого списка всех списков):

first tx = second rx, 8468.00000000 = 8468.00000000 OK next,
second tx = first rx, 8349.00000000 = 8349.00000000 OK next, 
azimute: 72- 252 = 180 is an link OK next,
polarization of first element is equal of second: V = V OK

ОК, это ссылка, после чего я поймаю широту, долготу и высоту этих двух элементов.Но когда цикл в списке более чем из 2 элементов, он ничего не печатает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...