关于网友提出的“python爬虫 Python列表嵌套字典”问题疑问,本网通过在网上对“python爬虫 Python列表嵌套字典”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:python爬虫 Python列表嵌套字典描述:
现有:
list1=['neil','mike','lucy']
list2=['123456','xuiasj==','passWD123']
list3=['www.abc.com','www.mike.org','www.lucy.gov']
需要形成列表:
fin_list = [{'name':'neil','passwd':'123456','url':'www.abc.com'},{'name':'mike','passwd':'xuiasj==','url':'www.mike.org'},{'name':'lucy','passwd':'passWD123','url':'www.lucy.gov'}]
本人python新手,希望大牛指点,如何实现?
解决方案1:
使用Python自带的zip函数
fin_list = []
style = ['name','passwd','url']
fin_list.append(dict(zip(style,list1))) # [{'name':'neil','passwd':'mike','url':'lucy'}]
fin_list.append(dict(zip(style,list2)))
fin_list.append(dict(zip(style,list3)))
解决方案2:>>> fin_list = []
>>> for i, name in enumerate(list1):
... d = {}
... d['name'] = name
... d['password'] = list2[i]
... d['url'] = list3[i]
... fin_list.append(d)
...
>>> fin_list
[{'url': 'www.abc.com', 'password': '123456', 'name': 'neil'}, {'url': 'www.mike.org', 'password': 'xuiasj==', 'name': 'mike'}, {'url': 'www.lucy.gov', 'password': 'passWD123', 'name': 'lucy'}]
解决方案3:最好能自己先尝试一下。
list0=['name','password','url']
print [dict(zip(list0, l)) for l in zip(list1, list2, list3)]
解决方案4:提供一个pythonic的写法:
list1 = ['neil', 'mike', 'lucy']
list2 = ['123456', 'xuiasj==', 'passWD123']
list3 = ['www.abc.com', 'www.mike.org', 'www.lucy.gov']
my_list = []
for name, password, url in zip(list1, list2, list3):
my_list.append({'name': name, 'passwd':password, 'url': url})
print(my_list)
还有一点,题主既然是新手,那么要注意python的代码编写规范(一般遵循的是PEP8),主要是这几天看别人的代码,太乱了...看到题主的
list1=['neil','mike,'lucy']
“=”两边没空格,所以想提示一下。推荐使用IDE,编码不规范它会给你提示的