Verify two numbers from a list will add up to a number in the same list using Python The Next CEO of Stack OverflowPrime factorization of a numberGenerator to Tuple to List?Calculating parsimonies using Python; performance is lackingDynamic Programming for printing additive numbers up to digits nProject Euler: #36 Binary and Base 10 PalindromesFinding all divisors of an integerGenerate set of random numbers and remove lowestFind two distinct subsets of a list that add up to the same valueFirstDuplicate FinderSearch father (x) of the number D(x) and measure time and memory consumed

Man transported from Alternate World into ours by a Neutrino Detector

How to find if SQL server backup is encrypted with TDE without restoring the backup

What happens if you break a law in another country outside of that country?

Could a dragon use hot air to help it take off?

Early programmable calculators with RS-232

What did the word "leisure" mean in late 18th Century usage?

Finitely generated matrix groups whose eigenvalues are all algebraic

Is a linearly independent set whose span is dense a Schauder basis?

How dangerous is XSS

logical reads on global temp table, but not on session-level temp table

How badly should I try to prevent a user from XSSing themselves?

How can I prove that a state of equilibrium is unstable?

Creating a script with console commands

Small nick on power cord from an electric alarm clock, and copper wiring exposed but intact

Which acid/base does a strong base/acid react when added to a buffer solution?

Is it possible to make a 9x9 table fit within the default margins?

Find the majority element, which appears more than half the time

My boss doesn't want me to have a side project

Why doesn't Shulchan Aruch include the laws of destroying fruit trees?

Direct Implications Between USA and UK in Event of No-Deal Brexit

Is it correct to say moon starry nights?

Find a path from s to t using as few red nodes as possible

Why does sin(x) - sin(y) equal this?

Why was Sir Cadogan fired?



Verify two numbers from a list will add up to a number in the same list using Python



The Next CEO of Stack OverflowPrime factorization of a numberGenerator to Tuple to List?Calculating parsimonies using Python; performance is lackingDynamic Programming for printing additive numbers up to digits nProject Euler: #36 Binary and Base 10 PalindromesFinding all divisors of an integerGenerate set of random numbers and remove lowestFind two distinct subsets of a list that add up to the same valueFirstDuplicate FinderSearch father (x) of the number D(x) and measure time and memory consumed










0












$begingroup$


I am trying to solve this question:



  • Given a list of integers, verifies if any two numbers from this list add up to another number in the same list.

I came up with:



def func(l):
sum_set = set() # using a set to store sums of two numbers.
for index in range(len(l)-1):
counter = 1
while counter + index < len(l):
sum = l[index] + l[index+counter]
sum_set.add(sum)
counter += 1
for number in l:
if number in sum_set:
return True
return False

print(func([1,2,3,4]))
print(func([1,2,1,4]))
print(func([1,1,1]))
print(func([1]))
print(func([1,2,5,9]))
print(func([2,1,1]))
print(func([1,-1,0]))


From the tests I ran above, my function is working. But there is at least one way I can think of my approach is lacking of:



  • I should filter the original list to get rid of duplicate numbers. If a number appears more than 2 times, its rest of appearance should be disregarded. E.g. l = [1,1,1,1,2] should be optimised to l = [1,1,2]

Is there any other aspect that I can improve my code snippet on to make it more Pythonic / more efficient?









share









$endgroup$
















    0












    $begingroup$


    I am trying to solve this question:



    • Given a list of integers, verifies if any two numbers from this list add up to another number in the same list.

    I came up with:



    def func(l):
    sum_set = set() # using a set to store sums of two numbers.
    for index in range(len(l)-1):
    counter = 1
    while counter + index < len(l):
    sum = l[index] + l[index+counter]
    sum_set.add(sum)
    counter += 1
    for number in l:
    if number in sum_set:
    return True
    return False

    print(func([1,2,3,4]))
    print(func([1,2,1,4]))
    print(func([1,1,1]))
    print(func([1]))
    print(func([1,2,5,9]))
    print(func([2,1,1]))
    print(func([1,-1,0]))


    From the tests I ran above, my function is working. But there is at least one way I can think of my approach is lacking of:



    • I should filter the original list to get rid of duplicate numbers. If a number appears more than 2 times, its rest of appearance should be disregarded. E.g. l = [1,1,1,1,2] should be optimised to l = [1,1,2]

    Is there any other aspect that I can improve my code snippet on to make it more Pythonic / more efficient?









    share









    $endgroup$














      0












      0








      0





      $begingroup$


      I am trying to solve this question:



      • Given a list of integers, verifies if any two numbers from this list add up to another number in the same list.

      I came up with:



      def func(l):
      sum_set = set() # using a set to store sums of two numbers.
      for index in range(len(l)-1):
      counter = 1
      while counter + index < len(l):
      sum = l[index] + l[index+counter]
      sum_set.add(sum)
      counter += 1
      for number in l:
      if number in sum_set:
      return True
      return False

      print(func([1,2,3,4]))
      print(func([1,2,1,4]))
      print(func([1,1,1]))
      print(func([1]))
      print(func([1,2,5,9]))
      print(func([2,1,1]))
      print(func([1,-1,0]))


      From the tests I ran above, my function is working. But there is at least one way I can think of my approach is lacking of:



      • I should filter the original list to get rid of duplicate numbers. If a number appears more than 2 times, its rest of appearance should be disregarded. E.g. l = [1,1,1,1,2] should be optimised to l = [1,1,2]

      Is there any other aspect that I can improve my code snippet on to make it more Pythonic / more efficient?









      share









      $endgroup$




      I am trying to solve this question:



      • Given a list of integers, verifies if any two numbers from this list add up to another number in the same list.

      I came up with:



      def func(l):
      sum_set = set() # using a set to store sums of two numbers.
      for index in range(len(l)-1):
      counter = 1
      while counter + index < len(l):
      sum = l[index] + l[index+counter]
      sum_set.add(sum)
      counter += 1
      for number in l:
      if number in sum_set:
      return True
      return False

      print(func([1,2,3,4]))
      print(func([1,2,1,4]))
      print(func([1,1,1]))
      print(func([1]))
      print(func([1,2,5,9]))
      print(func([2,1,1]))
      print(func([1,-1,0]))


      From the tests I ran above, my function is working. But there is at least one way I can think of my approach is lacking of:



      • I should filter the original list to get rid of duplicate numbers. If a number appears more than 2 times, its rest of appearance should be disregarded. E.g. l = [1,1,1,1,2] should be optimised to l = [1,1,2]

      Is there any other aspect that I can improve my code snippet on to make it more Pythonic / more efficient?







      python





      share












      share










      share



      share










      asked 7 mins ago









      Yu ZhangYu Zhang

      302312




      302312




















          0






          active

          oldest

          votes












          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216696%2fverify-two-numbers-from-a-list-will-add-up-to-a-number-in-the-same-list-using-py%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216696%2fverify-two-numbers-from-a-list-will-add-up-to-a-number-in-the-same-list-using-py%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          कुँवर स्रोत दिक्चालन सूची"कुँवर""राणा कुँवरके वंशावली"

          Why is a white electrical wire connected to 2 black wires?How to wire a light fixture with 3 white wires in box?How should I wire a ceiling fan when there's only three wires in the box?Two white, two black, two ground, and red wire in ceiling box connected to switchWhy is there a white wire connected to multiple black wires in my light box?How to wire a light with two white wires and one black wireReplace light switch connected to a power outlet with dimmer - two black wires to one black and redHow to wire a light with multiple black/white/green wires from the ceiling?Ceiling box has 2 black and white wires but fan/ light only has 1 of eachWhy neutral wire connected to load wire?Switch with 2 black, 2 white, 2 ground and 1 red wire connected to ceiling light and a receptacle?

          चैत्य भूमि चित्र दीर्घा सन्दर्भ बाहरी कडियाँ दिक्चालन सूची"Chaitya Bhoomi""Chaitya Bhoomi: Statue of Equality in India""Dadar Chaitya Bhoomi: Statue of Equality in India""Ambedkar memorial: Centre okays transfer of Indu Mill land"चैत्यभमि