2014-09-03 74 views
-1

我期待微調我寫的腳本。python在第一次比賽之前寫入項目

我刪除list0中包含的list1中的所有項目。

但是我碰到一個問題,我想找到list1中匹配list0的第一個項目,並在該初始匹配之前創建一個包含list0中的項目的list2。

例子:

list0 = ['#A', '77', 'TEST', 'ST'] 
list1 = ['77', 'MAIN', 'ST'] 

list2 = ['#A'] 

上面的例子中,我的代碼寫到:

list2 = ['#A', 'TEST'] 

誰能幫助? - 謝謝你

import csv 

address1_new = csv.writer(open('C:/Users/USR01/python/test1_new.csv', 'ab')) 

with open('C:/Users/USR01/python/test1.csv', 'rb') as c: 
    reader = csv.reader(c) 

    for row in reader: 

     address0 = [] #newline for file: *test1_new.csv* 

     list0 = row[0].strip().split(' ') 
     address0.append(row[0].strip()) 

     list1 = row[1].strip().split(' ') 
     address0.append(row[1].strip()) 

     list2 = [x for x in list0 if x not in list1] 
     address0.append(' '.join(list2)) 

     #address1_new.writerow(address0) 

     print address0 

回答

0

使用set():

list0 = ['#A', '77', 'TEST', 'ST'] 
list1 = ['77', 'MAIN', 'ST'] 
list2 = list(set(list0) - set(list1)) 

https://docs.python.org/2/library/sets.html

+0

返回:'['TEST ','#A']'這正是我想要的避免..我想在第一場比賽之前獲得所有物品。第一場比賽是'77',所以給我''''A']'從'list0' – jes516 2014-09-03 15:37:41

0

我想通了:

item1 = list1[0] 

if item1 in list0: 
    idx = list0.index(item1) 
    print list0[0:idx] 

感謝