如何将单词与列表中的元素分开?

问题描述

我的列表如下所示:
['https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 37.pdf','https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2020/BAK CAN CER 34.pdf','https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 38 FERC 3120 BAK US.pdf']

我想从每个元素的末尾获取每个 CER # 并创建一个字典,其中 CER # 作为键,整个元素作为相应的输出

例如,字典如下所示:
tariffs = {'CER 37': 'https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 37.pdf',etc.}

因此,如果我查找关税名称,它会向我输出正确的 PDF。

解决方法

 tariff_dict = {value[value.find(" CER ")+1:(value.find(" CER ")+7)]: value for value in my_list}
,
lst = [
    'https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 37.pdf','https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2020/BAK CAN CER 34.pdf','https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 38 FERC 3120 BAK US.pdf'
    ]
dictionary = {}
for item in lst:
    splitted = item.split(' ')
    index = splitted.index('CER')
    key = f'{splitted[index]} {splitted[index + 1].replace(".pdf","")}'
    dictionary[key] = item
print(dictionary)

返回

{
    'CER 37': 'https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 37.pdf','CER 34': 'https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2020/BAK CAN CER 34.pdf','CER 38': 'https://www.enbridge.com/Projects-and-Infrastructure/For-Shippers/Tariffs/Enbridge-Bakken-Pipeline-Company-Inc-Bakken-Canada-tariffs.aspx/~/media/Enb/Documents/Tariffs/2021/BAK CAN CER 38 FERC 3120 BAK US.pdf'
}