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',
这是不正确的表示法-您不能拥有它,我会返回并查看数据是如何被刮取的。在编写复杂的解析器来解释输出之前,请改进刮取器的输出。您可以将所有者包含在列表中。