所以我有两个字符串列表
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我会接受它,任何帮助将不胜感激
答案 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']