我如何检查列表中的元素是否包含在其他列表中?

问题描述 投票:1回答:3

我是Python的新手,但遇到了问题。我有2个包含数据集列名称的列表:一个包含所有列名称(columnas = total.columns.values.tolist());另一个有一个子集(形式为“ c = [a,b,c,d,c,e,...]”。

我想知道如何检查“ c”中的每个元素是否包含在较长的列表“ columnas”中。我一直试图得到的结果如下(这只是一个例子):

a:正确b:正确c:错误...

期待您的回答,圣地亚哥

python string list contains exists
3个回答
1
投票

您可以使用所谓的“字典理解”来形成结果:

columnas = ['a', 'b', 'z']
c = ['a', 'b', 'c', 'd', 'c', 'e']
contained = {x : x in columnas for x in c}

contained设为{'a': True, 'b': True, 'c': False, 'd': False, 'e': False}


1
投票

a=[ ] for i in c: if i in columns: a.append(true) else: a.append(false)

a = []因为我在c:如果我在列中:a.append(true)其他:a.append(false)


-1
投票

如果两个列表中都包含元素,则可以使用列表推导加1。然后,如果新创建的列表的长度与len(c)相同,则c中的所有内容都包含在columnas中。

c = [1,2,3]
columnas = [1,2,3,4,5]
contained = [1 for col in c if col in columnas]

if sum(contained)==len(c):
    print("All good.")
else:
    print("Not contained.")

© www.soinside.com 2019 - 2024. All rights reserved.