python - 列表索引未正确更新
问题描述
打印列表索引在整个迭代过程中给出 0。
class Solution(object):
def twoSum(self, nums, target):
indices = []
print len(nums)
for i in nums:
sum = 0
i_ind = nums.index(i)
print ("i_ind = %d"%(i_ind))
for j in nums:
j_ind = nums.index(j)
print ("j_ind = %d"%(j_ind))
if i_ind != j_ind:
sum = i+j
if sum == target:
indices.append(i_ind)
indices.append(j_ind)
return indices
return 0
# test case
list1 = [3,3]
target = 6
test1 = Solution()
print(test1.twoSum(list1,target))
这给出了:
2
i_ind = 0
j_ind = 0
j_ind = 0
i_ind = 0
j_ind = 0
j_ind = 0
但我期望:
2
i_ind = 0
j_ind = 0
j_ind = 1
因为函数应该在找到前两个元素的总和为 6 后终止。
解决方案
如果enumerate
您想同时访问索引和元素,请使用。来到你的问题,
k = [1,1,2,2,3,3]
k.index(1)#always returns index of first occurrence. (0)
k.index(2)#always returns index of first occurrence. (2)
推荐阅读
- ios - +[NSManagedObjectModel mergeModelFromBundles::forStoreMetadata:] 总是返回 nil
- ruby - 用一个期望测试自定义异常?
- c++ - 如何在保持多态性的同时将成员函数添加到需要它的继承类而不影响其他兄弟类?
- java - 为什么 BufferedWriter 拒绝写入文件?
- javascript - 从字符串中删除 html 元素和新行?
- c++ - 字符串声明中的分段
- javascript - 获取详细信息后动态检查附加到 DOM 的输入框
- java - 猜谜游戏 - 随机 #1 到 100,要求用户 5 次猜测正确的数字.....BEGINNER JAVA
- python - 如何使用给定的坐标在图像中绘制一个点
- git - “git push -u origin master”后出现错误