python:在多个变量中查找值

python: find value in multiple variables

这是我的情况:

我有 x 坐标变量。 .

x_1 = 24
x_2 = 94
x_3 = 120

我的气象站位于这些 x 值之一上。

station_1 = 100
station_2 = 80
station_3 = 94
station_4 = 24
station_6 = 120
station_7 = 3

站点 x 坐标保持不变,但 x_1、x_2 和 x_3 坐标不同。它们根据我的脚本的输入而改变。尽管 x_ 坐标始终与站点坐标之一匹配。

现在我需要找到与x_ 坐标匹配的站点。我试过这个:

if x_1 == 100:
    x1_station = station_1
elif x_1 == 80:
    x1_station = station_1
elif x_1 == 94:
    x1_station = station_1    
elif x_1 == 24:
    x1_station = station_1
elif x_1 == 120:
    x1_station = station_1
elif x_1 == 3:
    x1_station = station_1
else:
    print("no matching stations")
    
print(x1_station)

但这行不通。而且它看起来也有点重复。有谁知道如何解决这个问题?也许 for 循环会有所帮助。

亲切的问候,

西蒙

也许我在这里混淆了一些东西,但根据我的理解,你可以在这里使用字典:

dict_st={80:station_4,90:station_3,70:station_2}
x_1_station = dict_st.get(x_1,'no matching stations')

您考虑过在这里使用 dict 吗?您可以使用站点坐标作为键以确保唯一性,然后将需要从它们存储的任何信息作为值。

stations = {
    100: station_1_data,
    80: station_2_data,
    ...
}

x1_station = stations.get(x_1)
if x1_station is None:
    print("No matching stations")
station_map = {
    80: station_1,
    100: station_2,
    120: station_3,

}
station = mapp.get(x)

这样写可能更简单,但不知道能不能解决你的问题