2013-10-21 23 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 
相关问题