2013-10-21 20 views
0

我擁有此代碼,並基於我的腳本在.csv中的結果(只重複打印一個UserID)我假設我的變量被覆蓋並重新分配每個迭代。如何更改循環以將項目存儲在列表中以便寫入

# User_alias is a raw input (of multiple items) 

    print user_alias 
     for user in user_alias: 
      for row in Dict_list:  
       if user in row.values(): 
        print row 

     for user in user_alias: 
      for row in Dict_list: 
       if row.has_key('_akq6p') and row.has_key('_cn6ca'): 
        if user == row['_akq6p'] or user == row['_chk2m']: 


#EDIT: 
        UserID = row['_cn6ca'] 
        UserIDs=[] 
        UserIDs.append(row['_cn6ca']) 
        print UserIDs 

這裏是一個示例輸入/輸出:

Raw input: 
Adue Sal 
Arthur Bel 
Abby Sue 

['Adue Sal', 'Art Baraan', 'Abbey Shi'] 
{'_akq6p': 'adkul', '_dcgjs': 'adkul', '_chk2m': 'Adue Sal', '_cn6ca': '1200df00'} 
{'_akq6p': 'artb', '_dcgjs': 'artb', '_chk2m': 'Arthur Bel', '_cn6ca': '00123ffj8'} 
{'_akq6p': 'abbys', '_dcgjs': 'abbys', '_chk2m': 'Abby Sue', '_cn6ca': '125gh789'} 
['1200df00'] 
['00123ffj8'] 
['125gh789'] 
logout 

[Process completed] 

我需要寫這些到.csv,所以我需要存儲每個ID但是這個代碼似乎只存儲最後的ID被擡起頭。我將如何存儲所有這些ID以備後用?

+2

你能否提供一個示例輸入,以便我們可以運行代碼?它有助於提供樣本輸入和輸出,因此我們知道您在尋找什麼。 – Garth5689

+3

創建一個空列表'userIDs = []',然後在最內層循環中執行'userIDs.append(row ['_ cn6ca'])''。同意其他意見,添加樣本輸入(以及期望/期望的輸出,最好是http://sscce.org/等)將使您的問題得到有效回答的機會更大。 – YXD

+0

我在示例輸入/輸出中添加了。它看起來像一個項目的列表正在創建和重寫 – gigawatts

回答

0

這是我跑:http://codecube.io/TlFgaY

您需要創建列表中的循環之外,然後添加到它。

print user_alias 
for user in user_alias: 
    for row in Dict_list:  
     if user in row.values(): 
      print row 

UserIDs = [] # This is the change. 
for user in user_alias: 
    for row in Dict_list: 
     if row.has_key('_akq6p') and row.has_key('_cn6ca'): 
      if user == row['_akq6p'] or user == row['_chk2m']: 
       UserID = row['_cn6ca'] 
       print UserID 
       UserIDs.append(UserID) 

print UserIDs 
相關問題