我正在使用NCDF文件,并且我只需要在某些文件包含特定位置时绘制它们。我需要一些帮助来创建一个if语句,该语句仅在两个列表的对应元素具有特定值时才运行。基本上,我只想在数据接近某个区域时创建一个图
要简化此过程,请执行以下操作:
例如,我有两个包含来自两个不同文件的经度和纬度的列表
文件1:
lat1=[40,41,42,43,100]
lon1=[-70,-71,-72,-73,-100]
文件2:
lat2=[40,11,12,13]
lon2=[21,22,-71,24]
我想创建一个if语句,只要纬度列表和相应的经度列表中至少有一个元素(不一定全部)在一定范围内,该语句就可以运行(比如将字符串“***”附加到两个列表中)。在这种情况下,我要查找的经度介于-74到-70之间,而纬度介于40到42之间
这意味着file1满足if语句的要求,因为它包含两个列表中相应元素的值,但file2不满足。虽然file2包含lat2的40到42之间的元素和lon2的-70到-74之间的元素,但它们并不对应
结果:
文件1:
lat1=[40,41,42,43,100,'***']
lon1=[-70,-71,-72,-73,-100,'***']
文件2:
lat2=[40,11,12,13]
lon2=[21,22,-71,24]
以下是我到目前为止的错误代码:
if any(40.5<x<42.3 for x in lats) and any(-74<y<-70 for y in lons):
lats.append('***')
lons.append('***')
无论值是否对应,此代码都不会工作,这意味着file2也会适用于此语句,因为它包含值40和-71,即使它们不对应
您可以
zip
将您的列表放在一起:相关问题 更多 >
编程相关推荐