如何将包含子标签的标签与 Beautiful Soup 4 中的空标签分开?

一个可能的解决方案是找到带有 id 的项目的索引并使用pop:


todo_list = [{'ID': 5, 'TodoItem': 'walk', 'isDone': False}]



def remove_item(ID):

    if not any(todoItem['ID'] == ID for todoItem in todo_list):

        return 'item does not exist'


    # get index of id

    idx = next(i for i, e in enumerate(todo_list) if e['ID'] == ID)


    # remove and return

    return todo_list.pop(idx)



print(remove_item(4))

print(remove_item(5))

print(todo_list)

输出


item does not exist

{'isDone': False, 'ID': 5, 'TodoItem': 'walk'}

[]

您第一次尝试的问题是,当您这样做时:TodoList=RemovedList在函数内部,它会在函数内部创建一个新的局部变量,即使存在同名的全局变量。在您的第二次尝试中,您需要设置为全局而不是非本地:


todo_list = [{'ID': 5, 'TodoItem': 'walk', 'isDone': False}]


def RemoveItem(ID):

    global todo_list

    if not any(todoItem['ID'] == ID for todoItem in todo_list):

        return 'item does not exist';


    todo_list = list(filter(lambda todoItem: todoItem['ID'] != ID, todo_list))



RemoveItem(5)

print(todo_list)

输出


[]


摇曳的蔷薇
浏览 197回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python