python - 从列表中删除字典

我有以下列表:

b = [{'codename': 'add_group', 'id': 5, 'content_type': 2, 'name': 'Can add group'},
 {'codename': 'change_group', 'id': 6, 'content_type': 2, 'name': 'Can change group'},
 {'codename': 'delete_group', 'id': 7, 'content_type': 2, 'name': 'Can delete group'}, 
 {'codename': 'view_group', 'id': 8, 'content_type': 2, 'name': 'Can view group'}, 
 {'codename': 'add_templateresource', 'id': 21, 'content_type': 6, 'name': 'Can add template resource'},
 {'codename': 'change_templateresource', 'id': 22, 'content_type': 6, 'name': 'Can change template resource'},
 {'codename': 'delete_templateresource', 'id': 23, 'content_type': 6, 'name': 'Can delete template resource'}, 
 {'codename': 'view_templateresource', 'id': 24, 'content_type': 6, 'name': 'Can view template resource'}, 
 {'codename': 'add_usermodel', 'id': 13, 'content_type': 4, 'name': 'Can add user'},
 {'codename': 'change_usermodel', 'id': 14, 'content_type': 4, 'name': 'Can change user'}, 
 {'codename': 'delete_usermodel', 'id': 15, 'content_type': 4, 'name': 'Can delete user'}, 
 {'codename': 'view_usermodel', 'id': 16, 'content_type': 4, 'name': 'Can view user'}]

现在我想删除其值包含 codename 键中的 _templateresource 子串的字典

最佳答案

我认为最简单的方法是使用列表理解过滤掉这些条目:

result = [i for i in b if not i['codename'].endswith('_templateresource')]

https://stackoverflow.com/questions/68192275/

相关文章:

python - 如何将 {} 显示为 python f 字符串的一部分

c++ - STL 中的 find() 与 binary_search()

windows - 程序计数器、栅栏和处理器重新排序

javascript - 嵌入 : DiscordAPIError: Cannot send an

bash - 动态提取 bash 中字符串列表中每个字符串唯一的模式

powershell - Powershell 中的管道

sql-server - 通过 docker 创建的默认 SQL Server 凭据是什么?

r - 您如何使用 Pearson 相关性来选择 `R` 中的特征?

rust - 仅当处于 Release模式时,我如何在没有窗口的情况下运行 Rust 程序

rust - 为什么 [u8] 没有实现 Clone?