Python: next in for loopCalling an external command in PythonWhat are metaclasses in Python?Finding the index of an item given a list containing it in PythonDifference between append vs. extend list methods in PythonHow can I safely create a nested directory in Python?Does Python have a ternary conditional operator?How to get the current time in PythonAccessing the index in 'for' loops?Iterating over dictionaries using 'for' loopsDoes Python have a string 'contains' substring method?

Python: next in for loop

In Japanese, what’s the difference between “Tonari ni” (となりに) and “Tsugi” (つぎ)? When would you use one over the other?

What does it mean to describe someone as a butt steak?

Do I have a twin with permutated remainders?

US citizen flying to France today and my passport expires in less than 2 months

Mage Armor with Defense fighting style (for Adventurers League bladeslinger)

can i play a electric guitar through a bass amp?

Show that if two triangles built on parallel lines, with equal bases have the same perimeter only if they are congruent.

Why do falling prices hurt debtors?

Risk of getting Chronic Wasting Disease (CWD) in the United States?

Voyeurism but not really

Adding span tags within wp_list_pages list items

Can I make popcorn with any corn?

Can a Warlock become Neutral Good?

Font hinting is lost in Chrome-like browsers (for some languages )

Have astronauts in space suits ever taken selfies? If so, how?

Why not use SQL instead of GraphQL?

Is a tag line useful on a cover?

Schoenfled Residua test shows proportionality hazard assumptions holds but Kaplan-Meier plots intersect

How can bays and straits be determined in a procedurally generated map?

Prove that NP is closed under karp reduction?

Theorems that impeded progress

How could an uplifted falcon's brain work?

Is it legal for company to use my work email to pretend I still work there?



Python: next in for loop


Calling an external command in PythonWhat are metaclasses in Python?Finding the index of an item given a list containing it in PythonDifference between append vs. extend list methods in PythonHow can I safely create a nested directory in Python?Does Python have a ternary conditional operator?How to get the current time in PythonAccessing the index in 'for' loops?Iterating over dictionaries using 'for' loopsDoes Python have a string 'contains' substring method?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








6















I want to use next to skip one or more items returned from a generator. Here is a simplified example designed to skip one item per loop (in actual use, I'd test n and depending on the result, may repeat the next() and the generator is from a package I don't control):



def gen():
for i in range(10):
yield i

for g in gen():
n = next(gen())
print(g, n)


I expected the result to be



0 1
2 3


etc.



Instead I got



0 0
1 0


etc.



What am I doing wrong?










share|improve this question




























    6















    I want to use next to skip one or more items returned from a generator. Here is a simplified example designed to skip one item per loop (in actual use, I'd test n and depending on the result, may repeat the next() and the generator is from a package I don't control):



    def gen():
    for i in range(10):
    yield i

    for g in gen():
    n = next(gen())
    print(g, n)


    I expected the result to be



    0 1
    2 3


    etc.



    Instead I got



    0 0
    1 0


    etc.



    What am I doing wrong?










    share|improve this question
























      6












      6








      6


      1






      I want to use next to skip one or more items returned from a generator. Here is a simplified example designed to skip one item per loop (in actual use, I'd test n and depending on the result, may repeat the next() and the generator is from a package I don't control):



      def gen():
      for i in range(10):
      yield i

      for g in gen():
      n = next(gen())
      print(g, n)


      I expected the result to be



      0 1
      2 3


      etc.



      Instead I got



      0 0
      1 0


      etc.



      What am I doing wrong?










      share|improve this question














      I want to use next to skip one or more items returned from a generator. Here is a simplified example designed to skip one item per loop (in actual use, I'd test n and depending on the result, may repeat the next() and the generator is from a package I don't control):



      def gen():
      for i in range(10):
      yield i

      for g in gen():
      n = next(gen())
      print(g, n)


      I expected the result to be



      0 1
      2 3


      etc.



      Instead I got



      0 0
      1 0


      etc.



      What am I doing wrong?







      python generator next






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 1 hour ago









      foosionfoosion

      3,325144990




      3,325144990






















          1 Answer
          1






          active

          oldest

          votes


















          5














          You're making a new generator each time you call gen(). Each new generator starts from 0.



          Instead, you can call it once and capture the return value.



          def gen():
          for i in range(10):
          yield i

          x = gen()
          for g in x:
          n = next(x)
          print(g, n)





          share|improve this answer























            Your Answer






            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: "1"
            ;
            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: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            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%2fstackoverflow.com%2fquestions%2f55553886%2fpython-next-in-for-loop%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            5














            You're making a new generator each time you call gen(). Each new generator starts from 0.



            Instead, you can call it once and capture the return value.



            def gen():
            for i in range(10):
            yield i

            x = gen()
            for g in x:
            n = next(x)
            print(g, n)





            share|improve this answer



























              5














              You're making a new generator each time you call gen(). Each new generator starts from 0.



              Instead, you can call it once and capture the return value.



              def gen():
              for i in range(10):
              yield i

              x = gen()
              for g in x:
              n = next(x)
              print(g, n)





              share|improve this answer

























                5












                5








                5







                You're making a new generator each time you call gen(). Each new generator starts from 0.



                Instead, you can call it once and capture the return value.



                def gen():
                for i in range(10):
                yield i

                x = gen()
                for g in x:
                n = next(x)
                print(g, n)





                share|improve this answer













                You're making a new generator each time you call gen(). Each new generator starts from 0.



                Instead, you can call it once and capture the return value.



                def gen():
                for i in range(10):
                yield i

                x = gen()
                for g in x:
                n = next(x)
                print(g, n)






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 1 hour ago









                khelwoodkhelwood

                32.2k74465




                32.2k74465





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • 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.

                    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%2fstackoverflow.com%2fquestions%2f55553886%2fpython-next-in-for-loop%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

                    How should I use the fbox command correctly to avoid producing a Bad Box message?How to put a long piece of text in a box?How to specify height and width of fboxIs there an arrayrulecolor-like command to change the rule color of fbox?What is the command to highlight bad boxes in pdf?Why does fbox sometimes place the box *over* the graphic image?how to put the text in the boxHow to create command for a box where text inside the box can automatically adjust?how can I make an fbox like command with certain color, shape and width of border?how to use fbox in align modeFbox increase the spacing between the box and it content (inner margin)how to change the box height of an equationWhat is the use of the hbox in a newcommand command?

                    152 Atala Notae | Nexus externi | Tabula navigationis"Discovery Circumstances: Numbered Minor Planets"2000152Small-Body Database

                    Doxepinum Nexus interni Notae | Tabula navigationis3158DB01142WHOa682390"Structural Analysis of the Histamine H1 Receptor""Transdermal and Topical Drug Administration in the Treatment of Pain""Antidepressants as antipruritic agents: A review"