У меня есть простой код, чтобы найти индексы 2 элементов, которые складываются в сумму. (предположим, что сумма существует в списке)
class Solution(object):
def twoSum(self, nums, target):
compliment = []
for ind, item in enumerate(nums):
print(ind)
if item in compliment:
return [nums.index(target - item), ind]
compliment.append(target - item)
return [0, 0]
if __name__ == "__main__":
result = Solution()
final = result.twoSum([3, 3], 6)
#Why does this not work without removing the self parameter??
#final = Solution.twoSum([3, 3], 6)
print(str(final))
Я пытаюсь узнать, как лучше всего создать экземпляр объекта в Python. В моей основной функции я решил упростить это, сделав это в 1 строке вместо 2. Вы можете видеть мои 2 попытки вызова функции в этом классе. 2-й сбой, если я не удаляю параметр self из параметров функции. Это потому, что я пытаюсь передать 2 вместо 3 аргументов.
В любом случае, я запутался, почему мои две реализации отличаются и почему одна работает, а другая нет. Я также не уверен, что мне вообще нужно здесь. Кажется, что self в основном используется, когда у вас есть __init__
и вы определяете переменные для класса? Поскольку я здесь этим не занимаюсь, нужно ли вообще это вообще?