如何使用Python中的函数在两个列表之间进行过滤?

2024-06-03 05:03:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让Python在两个列表之间过滤值。它正在粘贴原始列表的值并忽略说明。提前感谢您的投入

string_val = ['Tom','Kyle','Carl','Tom','Mike','Austin']
delval = ['Tom','Kyle']


def filter_list(string_val, delval):
    new_string =[]
    for v in string_val:
        if (string_val) != (delval):
            new_string.append(v)
    return new_string

result = filter_list(string_val, delval)
print(result)

Tags: 列表newstring粘贴defvalresultfilter
3条回答

下面是查找不相交元素的Python单行程序代码

def filter_list(string_val, delval):
    return list(set(string_val) - set(delval))

输出

['Austin', 'Mike', 'Carl']

首先,您要遍历具有名称的string_val。您想检查每个名称是否在delval中。使用in执行此操作 我认为你在寻找这样的东西(列表理解)

string_val = ['Tom','Kyle','Carl','Tom','Mike','Austin']
delval = ['Tom','Kyle']
def filterList(string_val,delval):
    return [names for names in string_val if names not in delval]
print(filterList(string_val,delval))

输出

['Carl', 'Mike', 'Austin']

比较错误的值,应该比较每个值,而不是整个delval

def filter_list(string_val, delval):
    new_string =[]
    for v in string_val:
        found = False
        if v not in delval:
            new_string.append(v)
    return new_string

result = filter_list(string_val, delval)
print(result)

相关问题 更多 >