在循环python基本条件中追加数据
所以我有两个字符串列表在循环python基本条件中追加数据,python,pandas,Python,Pandas,所以我有两个字符串列表 Qt=['Apple', 'Apple', 'orange','orange','orange', 'mango','mango', 'Apple'] 及 我想要数据['Apple']=['1=A','2=B']和数据['orange']=['1=Y','2=N','3=N/A']。 最终目标是将它们连接起来,以获得数据['Apple']='1=A,2=B' 我试过很多方法,但都没能成功。我可以打印出来,但似乎找不到更好的保存方法 Qt=['Apple', 'App
Qt=['Apple', 'Apple', 'orange','orange','orange', 'mango','mango', 'Apple']
及
我想要数据['Apple']=['1=A','2=B']
和数据['orange']=['1=Y','2=N','3=N/A']
。
最终目标是将它们连接起来,以获得数据['Apple']='1=A,2=B'
我试过很多方法,但都没能成功。我可以打印出来,但似乎找不到更好的保存方法
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,我将接受它,任何帮助都将不胜感激使用
defaultdict
(我假设QT
列表末尾额外的Apple
是一个打字错误)
是的,它做得很好。你知道你现在帮了我多少忙。非常感谢你!
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
>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> for k, v in zip(Qt, Aw):
d[k].append(v)
>>> d['Apple']
['1=A', '2=B']