如何根据两个不同列表中的相应值创建if语句?

2024-10-06 03:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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,即使它们不对应


Tags: 文件in元素列表forifany语句