我有一个从网页抓取脚本收集的列表,但是我不需要返回的所有值。我想从第一个列表中弹出特定项目并将它们放入第二个列表中,然后在脚本的其余部分使用第二个列表。
我有代码,所以我可以通过列表索引来做到这一点。但是,为了使用途更广,我想按项目名称进行。例如,pop 只是Tag: football
因为第一个列表可能会更改顺序或大小。
当前第一个列表:
List1 = [Tag: American Football, Tag: Athletics, Tag: Australian Rules, Tag: Awards, Tag: Badminton, Tag: Baseball, Tag: Basketball, Tag: Bowls, Tag: Boxing, Tag: Cheltenham Festival, Tag: Chess, Tag: Cricket, Tag: Cycling, Tag: Darts, Tag: Football, Tag: Gaelic Games, Tag: Golf, Tag: Greyhounds, Tag: Handball, Tag: Harness Racing, Tag: Horse Racing, Tag: Ice Hockey, Tag: Motorsport, Tag: Novelty, Tag: Politics, Tag: Pool, Tag: Rugby League, Tag: Rugby Union, Tag: Snooker, Tag: TV, Tag: Table Tennis, Tag: Tennis, Tag: UFC/MMA, Tag: Volleyball, Tag: Winter Sports]
预期的第二份名单:
List2 = [Tag: Football, Tag: Horse Racing]
法典:
List1 = [Tag: American Football, ...]
List2 = []
List2.append(List1.pop(15))
我建议这取决于您使用的库。 似乎这个Tag
类型是其中的一个类。 您必须浏览列表,搜索访问其属性所需的对象,将此对象附加到第二个列表并从第一个列表中删除。
例:
def custom_pop(list1: list, value):
obj = next((tag for tag in list1 if tag.ATTRIBUTE == value), None)
if obj:
list1.remove(obj)
return obj
之后,将此 obj 附加到第二个列表中。