如何清除以下错误?

时间:2016-07-02 11:25:30

标签: python list python-2.7

问题是在不使用相应方法的情况下找到两组之间的对称差异!

来自 future import print_function

M=int(raw_input())

X=map(int,raw_input().split())

N=int(raw_input())

Y=map(int,raw_input().split())

mys=set()

mys1=set()

for i in X:

    mys.add(i)

for i in Y:
    mys1.add(i)

un=mys.union(mys1)

inx=mys.intersection(mys1)

sd=un.difference(inx)

w=list(sd)

w=w.sort()

for i in (w):
    print(w[i],end=' ')

发生错误:

Traceback (most recent call last):   File "hackset.py", line 18, in
<module>
    for i in len(w): TypeError: object of type 'NoneType' has no len()**

2 个答案:

答案 0 :(得分:1)

list.sort不会返回新的排序函数。它只是对列表进行排序(返回None)。

如果要对新列表进行排序,请改用sorted

还有另一个问题。迭代列表会产生元素,您不需要将它们编入索引以获取项目;只需迭代而不进行索引。

for item in w:
    print(item, end=' ')

答案 1 :(得分:1)

您的错误在这里:

w=w.sort()

w.sort()的返回类型是&#39;无&#39;。 sort()方法就地。将其更改为:

w.sort()