Tuple index out of range in .format










-1














I have two arguments that I want to print



print('0:25$2:>5.2f'.format('object', 20))


But they give the following response:



Traceback (most recent call last):

IndexError: tuple index out of range


But I get the desired output when I changed the code to the following:



print('0:25$2:>5.2f'.format('object', 20, 20))


I don't understand why as I only have two sets of . Thanks










share|improve this question


























    -1














    I have two arguments that I want to print



    print('0:25$2:>5.2f'.format('object', 20))


    But they give the following response:



    Traceback (most recent call last):

    IndexError: tuple index out of range


    But I get the desired output when I changed the code to the following:



    print('0:25$2:>5.2f'.format('object', 20, 20))


    I don't understand why as I only have two sets of . Thanks










    share|improve this question
























      -1












      -1








      -1







      I have two arguments that I want to print



      print('0:25$2:>5.2f'.format('object', 20))


      But they give the following response:



      Traceback (most recent call last):

      IndexError: tuple index out of range


      But I get the desired output when I changed the code to the following:



      print('0:25$2:>5.2f'.format('object', 20, 20))


      I don't understand why as I only have two sets of . Thanks










      share|improve this question













      I have two arguments that I want to print



      print('0:25$2:>5.2f'.format('object', 20))


      But they give the following response:



      Traceback (most recent call last):

      IndexError: tuple index out of range


      But I get the desired output when I changed the code to the following:



      print('0:25$2:>5.2f'.format('object', 20, 20))


      I don't understand why as I only have two sets of . Thanks







      python-3.x format tuples






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 12 at 13:02









      Yeng

      185




      185






















          2 Answers
          2






          active

          oldest

          votes


















          1














          your problem is the 2 index after the $ sign:



          print('0:25$2:>5.2f'.format('object', 20, 20))


          when you use .format in on string in python the number at number: is the index for the argument you want there.
          for example the following:



          "hello there 1: i want you to give me 0: dollars".format(2,"Tom")


          will resualt in the following output:



          'hello there Tom i want you to give me 2 dollars'


          there is a simple example here:
          https://www.programiz.com/python-programming/methods/string/format



          so to sum up, in order for your code to work just use:



          print('0:25$1:>5.2f'.format('object', 20))





          share|improve this answer
















          • 1




            Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
            – Jon Clements
            Nov 12 at 13:29


















          0














          It should be



          >>> print('0:25$1:>5.2f'.format('object', 20))
          object $20.00


          Note the change of the placeholder from 2 to 1



          print('0:25$1:>5.2f'.format('object', 20))
          ### ^


          When you add a third parameter (a second 20), the placeholder 2 finds a value



          >>> print('0:25$2:>5.2f'.format('object', 20, 20))
          object $20.00


          But without the third parameter, an index out of range exception is thrown.






          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%2f53262765%2ftuple-index-out-of-range-in-format%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            your problem is the 2 index after the $ sign:



            print('0:25$2:>5.2f'.format('object', 20, 20))


            when you use .format in on string in python the number at number: is the index for the argument you want there.
            for example the following:



            "hello there 1: i want you to give me 0: dollars".format(2,"Tom")


            will resualt in the following output:



            'hello there Tom i want you to give me 2 dollars'


            there is a simple example here:
            https://www.programiz.com/python-programming/methods/string/format



            so to sum up, in order for your code to work just use:



            print('0:25$1:>5.2f'.format('object', 20))





            share|improve this answer
















            • 1




              Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
              – Jon Clements
              Nov 12 at 13:29















            1














            your problem is the 2 index after the $ sign:



            print('0:25$2:>5.2f'.format('object', 20, 20))


            when you use .format in on string in python the number at number: is the index for the argument you want there.
            for example the following:



            "hello there 1: i want you to give me 0: dollars".format(2,"Tom")


            will resualt in the following output:



            'hello there Tom i want you to give me 2 dollars'


            there is a simple example here:
            https://www.programiz.com/python-programming/methods/string/format



            so to sum up, in order for your code to work just use:



            print('0:25$1:>5.2f'.format('object', 20))





            share|improve this answer
















            • 1




              Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
              – Jon Clements
              Nov 12 at 13:29













            1












            1








            1






            your problem is the 2 index after the $ sign:



            print('0:25$2:>5.2f'.format('object', 20, 20))


            when you use .format in on string in python the number at number: is the index for the argument you want there.
            for example the following:



            "hello there 1: i want you to give me 0: dollars".format(2,"Tom")


            will resualt in the following output:



            'hello there Tom i want you to give me 2 dollars'


            there is a simple example here:
            https://www.programiz.com/python-programming/methods/string/format



            so to sum up, in order for your code to work just use:



            print('0:25$1:>5.2f'.format('object', 20))





            share|improve this answer












            your problem is the 2 index after the $ sign:



            print('0:25$2:>5.2f'.format('object', 20, 20))


            when you use .format in on string in python the number at number: is the index for the argument you want there.
            for example the following:



            "hello there 1: i want you to give me 0: dollars".format(2,"Tom")


            will resualt in the following output:



            'hello there Tom i want you to give me 2 dollars'


            there is a simple example here:
            https://www.programiz.com/python-programming/methods/string/format



            so to sum up, in order for your code to work just use:



            print('0:25$1:>5.2f'.format('object', 20))






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 12 at 13:15









            Omer Ben Haim

            1116




            1116







            • 1




              Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
              – Jon Clements
              Nov 12 at 13:29












            • 1




              Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
              – Jon Clements
              Nov 12 at 13:29







            1




            1




            Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
            – Jon Clements
            Nov 12 at 13:29




            Or use auto-numbering by excluding the explicit positional argument, eg: ':25$:>5.2f'
            – Jon Clements
            Nov 12 at 13:29













            0














            It should be



            >>> print('0:25$1:>5.2f'.format('object', 20))
            object $20.00


            Note the change of the placeholder from 2 to 1



            print('0:25$1:>5.2f'.format('object', 20))
            ### ^


            When you add a third parameter (a second 20), the placeholder 2 finds a value



            >>> print('0:25$2:>5.2f'.format('object', 20, 20))
            object $20.00


            But without the third parameter, an index out of range exception is thrown.






            share|improve this answer



























              0














              It should be



              >>> print('0:25$1:>5.2f'.format('object', 20))
              object $20.00


              Note the change of the placeholder from 2 to 1



              print('0:25$1:>5.2f'.format('object', 20))
              ### ^


              When you add a third parameter (a second 20), the placeholder 2 finds a value



              >>> print('0:25$2:>5.2f'.format('object', 20, 20))
              object $20.00


              But without the third parameter, an index out of range exception is thrown.






              share|improve this answer

























                0












                0








                0






                It should be



                >>> print('0:25$1:>5.2f'.format('object', 20))
                object $20.00


                Note the change of the placeholder from 2 to 1



                print('0:25$1:>5.2f'.format('object', 20))
                ### ^


                When you add a third parameter (a second 20), the placeholder 2 finds a value



                >>> print('0:25$2:>5.2f'.format('object', 20, 20))
                object $20.00


                But without the third parameter, an index out of range exception is thrown.






                share|improve this answer














                It should be



                >>> print('0:25$1:>5.2f'.format('object', 20))
                object $20.00


                Note the change of the placeholder from 2 to 1



                print('0:25$1:>5.2f'.format('object', 20))
                ### ^


                When you add a third parameter (a second 20), the placeholder 2 finds a value



                >>> print('0:25$2:>5.2f'.format('object', 20, 20))
                object $20.00


                But without the third parameter, an index out of range exception is thrown.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 12 at 13:23

























                answered Nov 12 at 13:15









                TrebuchetMS

                1,9951619




                1,9951619



























                    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.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • 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%2f53262765%2ftuple-index-out-of-range-in-format%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







                    這個網誌中的熱門文章

                    Barbados

                    How to read a connectionString WITH PROVIDER in .NET Core?

                    Node.js Script on GitHub Pages or Amazon S3