2 回答

TA贡献1846条经验 获得超7个赞
这可以通过更简单的方式实现。假设您的目录文件列表为 -
files = [1234567890-UP.csv,1234567890-DOWN.csv,2000005001-UP.csv,2000005001-DOWN.csv]
您可以对此进行迭代,创建订单号到实际文件名的映射。
filemap = {}
for file in files:
order_number = re.compile('(\d*)-(\w*).csv').match(file).groups()[0]
print(order_number)
files = filemap.get(order_number, [])
files.append(file)
filemap[order_number] = files
那应该给这样的东西。
{'1234567890': ['1234567890-UP.csv', '1234567890-DOWN.csv'],
'2000005001': ['2000005001-UP.csv', '2000005001-DOWN.csv']}
现在您可以查找订单号并在需要时合并

TA贡献1853条经验 获得超18个赞
您应该直接追加到nestedlist,而不是nestedlist[y]。y空列表中没有索引。
你也可以这样简化;这range是不必要的,因为您可以直接遍历列表:
nestedlist=[]
for x in filenamelist:
for y in filteredlist:
if y in x:
nestedlist.append(x)
添加回答
举报