python - 为什么在循环时不使用整数时会出现整数(类型)错误?
问题描述
我在下面有一个解决 TwoSumsII 问题的方法,我们基本上有一个排序整数列表和一个目标,我们希望返回所有加起来为目标的 2 个数字的集合:
nums = [2,7,11,15]
target = 18
comp= dict()
for i in range(len(nums)-1):
comp = target - nums[i]
if nums[i] in comp:
print(comp[nums[i],i])
else:
print("Target cannot be reached")
出于某种原因,我收到if nums[i] in comp:
TypeError 的错误:“int”类型的参数不可迭代。
我不明白这个错误,因为我没有看到这行代码中的整数是什么?-是nums[i]
整数吗?
另外,我对在此解决方案中使用 dict() 有疑问。我是否正确地说我们正在使用字典,它提供了一种存储“键”-“值”对的方法?在这种情况下,“键”是列表中每个数字的索引,并且value
是 comp,在哪里comp = target - nums[i]
?
解决方案
nums = [2,7,11,15]
target = 18
comp= dict()
for i in range(len(nums)-1):
comp[i] = target - nums[i]
if comp[i] == nums[i+1]:
print(i,i+1)
我找到了一个解决方案,它似乎有效!
推荐阅读
- npm - NPM/Yarn - 如何不在 package-lock 或 yarn.lock 中指定完整的包路径(不同的存储库)
- c++ - 将 constexpr 更改为 consteval 会导致 MSVC 中出现无法理解的错误消息。编译器错误或有问题的代码?
- c++ - 为什么 std::optional 对 std::nullopt 类型的操作数有一个特殊的相等运算符
- kendo-ui - 如何在 kendo ui radiogroup 中以编程方式设置项目?
- python - 输入数据上的 Scipy 插值 splrep 错误?
- reactjs - React Native firebase 函数在 useEffect 下无法正确获取
- powerbi - 从 PowerBI 中的表中获取特定记录值
- python - 睡到一定时间
- c# - 从 SWIG 中 C++ 函数的 C# 包装器中删除参数
- python - 我应该遵循哪些背景扣除方法?