在循环python基础条件中附加数据

时间:2014-06-05 18:12:04

标签: python pandas

所以我有两个字符串列表

Qt=['Apple', 'Apple', 'orange','orange','orange',  'mango','mango', 'Apple'] 

Aw = ['1=A', '2=B', '1=Y', '2=N','3=N/A','1=single', '2=married']

我希望data['Apple']=['1=A', '2=B']data['orange']=['1=Y', '2=N','3=N/A']。 最终的目标是将它们连接起来以获得data['Apple']='1=A, 2=B'  我已经尝试了很多方法i =但无法让它工作。我可以打印它,但似乎找不到更好的保存方法

Qt=['Apple', 'Apple', 'orange','orange','orange',  'mango','mango']
Aw = ['1=A', '2=B', '1=Y', '2=N','3=N/A','1=single', '2=married']
var=list(np.unique(Qt))
ds={}
for n in range(0,len(Qt)):
l =  list([])
for m in range(0, len(var)):
    l.append(var[m])
    if Qt[n]==str(var[m]):
        print var[m], Aw[n]
        l2=l.append(Aw[n])
        ds=l2

或者如果有一种更简单的方法来连接Aw上的字符串并基于一个独特的QT我会接受它,任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

使用defaultdict(我假设Apple列表末尾的额外Qt是拼写错误。)

>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> for k, v in zip(Qt, Aw):
        d[k].append(v)

>>> d['Apple']

['1=A', '2=B']