Python 基于Startswith创建字典值
如何根据列表是以字母开头还是以数字开头,将列表拆分成一本词典Python 基于Startswith创建字典值,python,list,loops,web-scraping,Python,List,Loops,Web Scraping,如何根据列表是以字母开头还是以数字开头,将列表拆分成一本词典 webscrape1= ['Owner1','Owner2', 'Owner3', '555 Address Street',] webscrape2 = ['Owner1','555 Address Street',] webscrape3 = ['Owner1','Owner2', 'Owner3', 'Owner4', 'Owner5', '555 Address Street',] 如果我尝试以下操作,则会发生属性错
webscrape1= ['Owner1','Owner2', 'Owner3', '555 Address Street',]
webscrape2 = ['Owner1','555 Address Street',]
webscrape3 = ['Owner1','Owner2', 'Owner3', 'Owner4', 'Owner5', '555 Address Street',]
如果我尝试以下操作,则会发生属性错误:
address = address[1:].startswith(('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'))
这将为您提供预期的结果:
d = {"Owner" : [], "Address" : []}
for el in webscrape:
if el.startswith(('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')):
d["Address"].append(el)
else:
d["Owner"].append(el)
print(d)
我可以从代码中看出,您的列表始终包含列表最后一个索引处的地址。因此,您可以使用
webscrape[-1]
语句直接获取该元素,并且获取所有所有者只需从开始到最后一个元素的索引即可<代码>webscrape[0:webscrape.length-1] 假设地址是列表中可以使用的最后一个元素webscrape1[-1]
检索地址{'Owner':'Owner1','Owner2','Owner3',
这是不正确的表示法-您不能拥有它,我会返回并查看数据是如何被刮取的。在编写复杂的解析器来解释输出之前,请改进刮取器的输出。您可以将所有者包含在列表中。