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)
添加回答
舉報