0

私はPythonでこのコードを試しましたが、完全に動作します:

listX.sort()
list1.sort()

result = listX + list1

ただし、次のコードは機能しません。

result = listX.sort() + list1.sort()

次のエラーメッセージが表示されます。

TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'

どうすればこれを修正できますか? ありがとう!

4

2 に答える 2

5

これはlist.sort()returnNoneであるため、効果的にやっている:

None + None

これは意味がありません。

2 つのリストの並べ替えられた要素を連結する場合は、次のいずれかを実行できます。

listA.sort()
listB.sort()
listC = listA + listB

または、(推奨):

listC = sorted(listA) + sorted(listB)

同様に値を返しますsorted()

于 2013-02-19T00:47:29.770 に答える
5

list.sortメソッドはその場でリストを操作するため、を返しNoneます。対照的に、はソートされた出力 を返すsorted組み込み関数です。

result = sorted(listX) + sorted(list1)

それはあなたが望むことをするでしょう。

于 2013-02-19T00:46:33.547 に答える