python - 尝试分析列表列表之间的值
问题描述
我有 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 = ['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 = ['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 个元素的列表中循环时,它不会打印任何内容。
解决方案
推荐阅读
- python - 我怎样才能成功地使用装饰器功能来解决我的问题?
- image-processing - 使用 imagemagick 处理图像并嵌入网络时,我应该留下还是去除嵌入的颜色配置文件?
- reactjs - TypeError: (0, _react.default) 不是函数
- javascript - 我的 if 语句没有显示/隐藏元素,我不知道为什么
- c# - 客户端无法连接到 mqtt 代理并出现错误:远程证书被提供的拒绝
- c# - 在继承的 ViewComponent .net core 5.0 中覆盖 Invoke 方法
- blockchain - Solana - 如何获得外国账户的代币余额?
- typescript - 声明为联合类型的常量在导出时降级为字符串
- css - 属性“WebkitBoxOrient”的类型不兼容
- sqlite - GORM:引用同一张表