Python中如何通过末尾字符或匹配gmailcom删除列表内自定义字符串
列表过滤方案
核心逻辑
你需要删除的元素都带gmailcom标识,直接按关键词过滤即可,两种常用适配实现如下:
代码实现
方案1:匹配任意位置包含gmailcom的元素(完全适配你给出的示例场景)
lst = [['name','address','addressgmailcom'],['name','address','namegmailcom']] # 遍历嵌套列表,过滤带gmailcom的元素 result = [[elem for elem in sub_list if 'gmailcom' not in elem] for sub_list in lst]
执行后result的输出就是你要的结果:[['name', 'address'], ['name', 'address']]
方案2:严格匹配末尾为gmailcom的元素
如果要求只有字符串末尾是gmailcom才删除,调整判断条件即可:
result = [[elem for elem in sub_list if not elem.endswith('gmailcom')] for sub_list in lst]
- 两种方案都是生成新列表,不会修改原始
lst的数据 - 如果后续要新增过滤关键词,直接修改判断条件的匹配字符串即可
内容的提问来源于stack exchange,提问作者waji
相关产品推荐
相关产品推荐

