com = self.get_scan_companies()
for name in com:
k.append({'org_id' : None, 'keyword' : name['names']})
for domain in com:
k.append({'org_id' : None, 'keyword' : domain['domains']})
for ip in com:
k.append({'org_id' : None, 'keyword' : ip['Ips']})
com
生成{id,'names','domains','Ips'}
的字典注:com
有4项,但我只需要最后3项。
for
循环,其中包含如上所述的3行追加内容:
for name,domain,ip in com:
k.append({'org_id' : None, 'keyword' : name['names']})
k.append({'org_id' : None, 'keyword' : domain['domains']})
k.append({'org_id' : None, 'keyword' : ip['Ips']})
期望结果是一个列表:
k=[{'org_id' : None, 'keyword' : name['names']}, {'org_id' : None, 'keyword' : domain['domains']},{'org_id' : None, 'keyword' : ip['Ips']}]
我明白上面没有产生结果!提前感谢您的帮助!
三个for循环都在同一数据上迭代。调用迭代器的name、domain或ip没有区别。这相当于以下使用iter_作为泛型迭代器的单个for循环:
com = self.get_scan_companies()
for iter_ in com:
k.append({'org_id' : None, 'keyword' : iter_['names']})
k.append({'org_id' : None, 'keyword' : iter_['domains']})
k.append({'org_id' : None, 'keyword' : iter_['Ips']})