2016-07-02 4 views
0

質問は、対応する方法を使用せずに2つのセットの間に対称的な差異を見つけることでした!次のエラーを取り除くには?

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=' ') 

エラーが発生した将来輸入print_functionから

は次のとおりです。

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()** 
+0

投稿コードにこのような行はありません。 –

答えて

1

list.sortが新しいソート機能を返しません。それはリストをソートするだけです(返信None)。

新しいリストをソートするには、代わりにsortedを使用してください。


他にも問題があります。リストを反復すると要素が得られます。アイテムを取得するためにインデックスを作成する必要はありません。インデックスを作成せずに繰り返します。

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

ありがとうございました!私は、コードスニペットを 'len(w):print(w [i])'として編集すると、これは役に立ちますか? @falsetru –

+0

@PragyanshuBansal、あなたは数値を反復することはできません( 'len(w)'の戻り値は数値です)。インデックスを使用する場合は 'range'を使用する必要があります:' for i in range(len(w)):print(w [i]、end = '') ' – falsetru

1

あなたのエラーはここにある:

w=w.sort() 

w.sortの戻り値の型は() 'none' です。 sort()メソッドはインプレースです。

w.sort() 
関連する問題