gpt4 book ai didi

python - 如果这些字符串略有不同,如何根据另一个列表中的字符串从列表中删除某些字符串?更多信息如下

转载 作者:行者123 更新时间:2023-12-04 07:23:53 24 4
gpt4 key购买 nike

这似乎是一个非常基本的问题,但我想知道,因为当网站被抓取时,这些列表中的项目经常发生变化......

employees = ['leadership(x)', 'drivers(y)', 'trainers(z)']
其中 x,y,z 是这些特定角色的员 worker 数,并且是经常变化的值。
如果我知道字符串将始终是“领导”、“司机”和“培训师”,只是括号之间的内容有所不同,那么我如何动态删除这些字符串而不必每周运行程序时对其进行硬编码?
显而易见但不太成功的解决方案是......
employees = ['leadership(x)', 'drivers(y)', 'trainers(z)']
unwanted = ['leadership(x)', 'drivers(y)', 'trainers(z)']

for i in unwanted:
if i in employees:
employees.remove(i)
这当然会失败,因为这些值是硬编码的,并且这些值肯定会改变,对此的任何帮助将不胜感激!

最佳答案

你可以做类似的事情

unwanted_prefixes = ['leadership', 'drivers', 'trainers']
unwanted = [s for s in employees if s.split('(')[0] in unwanted_prefixes]
这将使要删除的内容列表包含以这 3 个前缀开头的任何字符串,并且不包含任何其他内容或紧跟一个括号。
一个更复杂的解决方案,如果该解决方案删除您想要的字符串,则遵循大致相同的想法,但使用正则表达式:
import re
unwanted_re = re.compile(r'(leadership|drivers|trainers)\(\d+\)')
unwanted = [x for x in employees if unwanted_re.fullmatch(x)]

关于python - 如果这些字符串略有不同,如何根据另一个列表中的字符串从列表中删除某些字符串?更多信息如下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68323226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com