如何使用python循环动态列表

2024-09-27 00:15:23 发布

您现在位置:Python中文网/ 问答频道 /正文

Webscraping每次都会生成一个动态列表。所有者可以在1到6之间。我想循环并开发一个基于所有者结束和地址开始位置的数组。地址总是以一个数字开头,因此我尝试使用startswith()来分隔,但出现了错误。你知道吗

我将列举三个例子:

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'))

以下是我想要的结果:

{'Owner' : 'Owner1', 'Owner2', 'Owner3',
'Address' : '555 Address 'Street'}

{'Owner' : 'Owner1',
'Address' : '555 Address 'Street'}

{'Owner' : 'Owner1', 'Owner2', 'Owner3', 'Owner4', 'Owner5',
'Address' : '555 Address 'Street'}



一旦列表在循环中找到一个数字,有没有一种有效的方法来编码赋值变量?你知道吗


Tags: street列表address地址错误数字ownerwebscraping
2条回答

这将给您带来预期的结果:

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]。你知道吗

相关问题 更多 >

    热门问题