编程语言
首页 > 编程语言> > 将列表项值与Python中其他列表中的其他项进行比较

将列表项值与Python中其他列表中的其他项进行比较

作者:互联网

我想将一个列表中的值与第二个列表中的值进行比较,并返回第一个列表中但不在第二个列表中的所有值,即

list1 = ['one','two','three','four','five']
list2 = ['one','two','four']

将返回’三’和’五’.

我对python只有一点经验,所以这可能会成为一种荒谬而愚蠢的尝试解决方法,但这就是我迄今所做的:

def unusedCategories(self):
    unused = []
    for category in self.catList:
        if category != used in self.usedList:
            unused.append(category)
    return unused

然而,这会引发错误’迭代超过非序列’,我认为这意味着一个或两个’列表’实际上不是列表(两者的原始输出与我的第一个示例的格式相同)

解决方法:

使用集合来获取列表之间的差异:

>>> list1 = ['one','two','three','four','five']
>>> list2 = ['one','two','four']
>>> set(list1) - set(list2)
set(['five', 'three'])

标签:python,plone,zope
来源: https://codeday.me/bug/20190713/1452313.html