問題文:整数の配列では、2つの数値のインデックスを返して、特定のターゲットに加算します。2つの和を解く:NoneType 'は反復可能ではありません
各入力には1つの解決策があり、同じ要素を2回使用することはできません。
私のソリューション(ブルートフォースのアプローチよりも優れてやろうとして):私はLine 9: TypeError: argument of type 'NoneType' is not iterable
を得続ける
def twoSum(nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
for i in range(0,len(nums)):
if (target - nums[i]) in nums.remove(nums[i]): #error
if i != nums.index(target - nums[i]):
return i, nums.index(target - nums[i])
。
私は.remove()
がリストを返し、私はtarget - nums[i]
がリストに含まれているかどうかを確認しようとしています。
なぜあなたは 'nums_copy = nums'を実行せず、明示的に' nums'をリストに変換しませんでしたか? –
これはコピーではなく、元のnumのポインタです。リストをコピーするには、余分な手順が必要です。 [this](https://stackoverflow.com/questions/2612802/how-to-clone-or-copy-a-list)の質問を参照してください。 – Darkstarone
うわー。ありがとう。私はPythonについて何も知らないような気がする。 –