我是 Python 的初学者,在匹配两个包含字符串的列表时遇到了问题,
我使用正则表达式从 txt Metafile 中提取了 Landsat 图像的波段名称,并有一个这样的列表;
bant = ['LT5YYYYYYYYYYYYYXXX02_B1.TIF', 'LT5YYYYYYYYYYYYYXXX02_B2.TIF','LT5YYYYYYYYYYYYYXXX02_B3.TIF', 'LT5YYYYYYYYYYYYYXXX02_B4.TIF', 'LT5YYYYYYYYYYYYYXXX02_B5.TIF', 'LT5YYYYYYYYYYYYYXXX02_B6.TIF', 'LT5YYYYYYYYYYYYYXXX02_B7.TIF']
“YYYYYYYYYYYYYY”是随场景变化的乐队特定名称。我将每个字符串分配给一个变量,然后分配给一个新列表。
bant1 = bant[0]
bant2 = bant[1]
.
.
bant7 = bant[6]
bant = [bant1,bant2,bant3,bant4,bant5,bant6,bant7]
此外,通过使用 Python os 模块,我提取了与 txt Metafile 位于同一目录中的 GeoTIFF 文件的名称,如下所示;
import os
import re
def mtl():
file=[]
path = os.getcwd()
for filelist in os.listdir(path):
if filelist.endswith(".TIF"):
file.append(filelist)
输出:
file = ['LT5YYYYYYYYYYYYYXXX02_B1.TIF', 'LT5YYYYYYYYYYYYYXXX02_B2.TIF']
所以我遇到的问题是如何比较这两个列表,“bant”和“file”。并打印在列表中找到的波段是 bant1、bant2。文件列表中的字符串数量是可变的(可能某些文件被用户删除,因此不包含在文件列表中)。
对不起我的英语不好。感谢您的帮助