在python中从一个列表插入另一个列表

2024-10-16 22:36:06 发布

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

我试图在python中从一个列表插入到另一个列表,但我似乎无法让它工作。我想在包含“A1033”的列表1的第一行下面插入列表2的第一行,然后在包含“A1033”的列表1的下一行插入列表2的第二行,依此类推。这是我的代码:

with open('D:\\TranslateFIles\\Ext_Python.txt', 'r', encoding='utf-8') as f:
    list1 = f.readlines()
f.close()

with open('D:\\TranslateFIles\\A1033_Python.txt', 'r', encoding='utf-8') as f:
    list2 = f.readlines()
f.close()

outFile=open('D:\\TranslateFIles\\Output3_Python.txt', 'w', encoding='utf-8')

A1033 = 'A1033'
a2067 = 'A2067'

 
for line in list1:
    for line2 in list1:
        for element in list2:
            if A1033 in line:
                if not a2067 in line2:
                    list1.insert(list1.index(line2), element)
                    
            
for lines in list1:
    outFile.write(lines)
outFile.close()   

剪下列表1中的内容

T14-P2818-L30:Location
T14-P8629-A1033-L999:Location
T14-P8629-A2060-L999:Magasin
T14-P4960-V1000-P2818-L128:TransferRoute
T14-P4960-V1003-P2818-L128:WhseEmployee
T14-P4960-V1004-P2818-L128:WorkCenter
T14-P4960-V1001-P2818-L128:StockkeepingUnit
T14-P4960-X1-L999:
T14-F1-P2818-L128:Code
T14-F1-P8629-A1033-L999:Code
T14-F1-P8629-A2060-L999:Code
T14-F2-P2818-L128:Name
T14-F2-P8629-A1033-L999:Name
T14-F2-P8629-A2060-L999:Nom
T14-F130-P2818-L128:Default Bin Code
T14-F130-P8629-A1033-L999:Default Bin Code
T14-F130-P8629-A2060-L999:Code emplacement par d‚faut
T14-F5700-P2818-L128:Name 2
T14-F5700-P8629-A1033-L999:Name 2
T14-F5700-P8629-A2060-L999:Nom 2
T14-F5701-P2818-L128:Address
T14-F5701-P8629-A1033-L999:Address
T14-F5701-P8629-A2060-L999:Adresse
T14-F5702-P2818-L128:Address 2
T14-F5702-P8629-A1033-L999:Address 2
T14-F5702-P8629-A2060-L999:Adresse (2Šme ligne)
T14-F5703-P2818-L128:City
T14-F5703-P8629-A1033-L999:City
T14-F5703-P8629-A2060-L999:Ville
T14-F5704-P2818-L128:Phone No.

清单2的剪报

T14-P8629-A2067-L999:Locatie
T14-F1-P8629-A2067-L999:Code
T14-F2-P8629-A2067-L999:Naam
T14-F130-P8629-A2067-L999:Standaard opslaglocatiecode
T14-F5700-P8629-A2067-L999:Naam 2
T14-F5701-P8629-A2067-L999:Adres
T14-F5702-P8629-A2067-L999:Adres 2
T14-F5703-P8629-A2067-L999:Stad
T14-F5704-P8629-A2067-L999:Telefoon nr.
T14-F5705-P8629-A2067-L999:Telefoon nr.
T14-F5706-P8629-A2067-L999:Telex Nr.
T14-F5707-P8629-A2067-L999:Fax nr.
T14-F5713-P8629-A2067-L999:Contact
T14-F5714-P8629-A2067-L999:Postcode
T14-F5715-P8629-A2067-L999:County
T14-F5718-P8629-A2067-L999:E-mail
T14-F5719-P8629-A2067-L999:Startpagina
T14-F5720-P8629-A2067-L999:Land/Regio Code
T14-F5724-P8629-A2067-L999:Gebruik als in-transit
T14-F5726-P8629-A2067-L999:Vereisen
T14-F5727-P8629-A2067-L999:Pick
T14-F5728-P8629-A2067-L999:Cross-Dock Vervaldatum Calc.
T14-F5729-P8629-A2067-L999:Cross-Docking gebruiken
T14-F5730-P8629-A2067-L999:Ontvangst vereisen
T14-F5731-P8629-A2067-L999:Verzending vereisen
T14-F5732-P8629-A2067-L999:Bin Verplicht

剪下了我希望列表1如何处理插入内容

T14-P2818-L30:Location
T14-P8629-A1033-L999:Location
T14-P8629-A2067-L999:Locatie
T14-P8629-A2060-L999:Magasin
T14-P4960-V1000-P2818-L128:TransferRoute
T14-P4960-V1003-P2818-L128:WhseEmployee
T14-P4960-V1004-P2818-L128:WorkCenter
T14-P4960-V1001-P2818-L128:StockkeepingUnit
T14-P4960-X1-L999:
T14-F1-P2818-L128:Code
T14-F1-P8629-A1033-L999:Code
T14-F1-P8629-A2067-L999:Code
T14-F1-P8629-A2060-L999:Code
T14-F2-P2818-L128:Name
T14-F2-P8629-A1033-L999:Name
T14-F2-P8629-A2067-L999:Naam
T14-F2-P8629-A2060-L999:Nom
T14-F130-P2818-L128:Default Bin Code
T14-F130-P8629-A1033-L999:Default Bin Code
T14-F130-P8629-A2067-L999:Standaard opslaglocatiecode
T14-F130-P8629-A2060-L999:Code emplacement par d‚faut
T14-F5700-P2818-L128:Name 2
T14-F5700-P8629-A1033-L999:Name 2
T14-F5700-P8629-A2067-L999:Naam 2
T14-F5700-P8629-A2060-L999:Nom 2
T14-F5701-P2818-L128:Address

Tags: name列表codef2f1f130p4960t14
2条回答

我写了一些可能对你有帮助的东西:

list1 = ["abc", "123", "ab1", "4542", "erf", "ab"]
list2 = ["insert1","insert2","insert3","insert4"]
new_list = []
index_list2 = 0

for item in list1:                             # loop over each item in list1.
    new_list.append(item)                      # always add the current item to the new list.
    if item.startswith("ab"):                  # Only in certain condition, add the next item of list2 to the new list.
        new_list.append(list2[index_list2])
        index_list2 += 1                       # Keep track of what item in list2 we have already added.

print(new_list)
# > ['abc', 'insert1', '123', 'ab1', 'insert2', '4542', 'erf', 'ab', 'insert3']

如果有帮助,请告诉我:)

假设l1l2是前两个列表,output是结果

output = []
for i in l1:
    output.append(i)
    if 'A1033' in i:
        output.append(l2.pop(0))

相关问题 更多 >