1

我对 Python 2.2 中的设置有疑问。目前我只是在两个列表之间进行比较,如下所示:

temp3 = set(list1) - set(list2)

但它一直提示我集合没有定义。我使用 2.7 创建程序。可悲的是,更新软件不是一种选择。有没有我可以使用的替代方案?

4

2 回答 2

1

set您可以尝试提供缺失功能的第三方模块。例如,demset

使用此模块的最简单方法是将其保存在与您正在编写的程序相同的目录中并导入所需的内容,如下所示:

from demset import set

文档主页提到了一种在可用时使用 Python 内置set(and frozenset) 的方法,并且仅在demset内置不可用时使用模块中的版本:

try:
    type(frozenset)
except NameError:
    from demset import set, frozenset

除了这些导入之外,您的程序可以保持完全相同。

请注意,我提到将demset模块与您的程序保持在同一目录中,只是因为这不需要任何安装,而且如果您被困在 Python 2.2 上,听起来可能不允许您安装任何东西。

于 2013-04-19T02:34:45.107 回答
0

除非您正在做大量的事情,否则您可能只需为此编写自己的函数,如下所示。

tmp3=[]
for i in list1:
  if i not in list2 and i not in tmp3:
    tmp3.append(i)
于 2013-04-19T02:57:14.073 回答