Trying to swap positions in a list












2















Writing a simple code to print a random list, the swap the first position integer with the last position integer and re-print the list. Keep getting error saying not subscriptable. This is for a basic python class but we are on Thanksgiving break and can't talk to professor, due when we get back.



import random

def main():

mylist=

for i in range(15):
mylist.append(random.randrange(0,25))

print(mylist)



def swap():
a, b = mylist.index[0], mylist.index[14]
mylist[b], mylist[a] = mylist[a], mylist[b]
print(mylist)

swap()

main()









share|improve this question




















  • 1





    a and b will be set to the first and last elements of the list, so trying to access mylist[a] and mylist[b] is wrong (a and b are not indices, they are the actual values). Try mylist[0], mylist[14] = a, b instead.

    – divesh premdeep
    Nov 21 '18 at 1:12


















2















Writing a simple code to print a random list, the swap the first position integer with the last position integer and re-print the list. Keep getting error saying not subscriptable. This is for a basic python class but we are on Thanksgiving break and can't talk to professor, due when we get back.



import random

def main():

mylist=

for i in range(15):
mylist.append(random.randrange(0,25))

print(mylist)



def swap():
a, b = mylist.index[0], mylist.index[14]
mylist[b], mylist[a] = mylist[a], mylist[b]
print(mylist)

swap()

main()









share|improve this question




















  • 1





    a and b will be set to the first and last elements of the list, so trying to access mylist[a] and mylist[b] is wrong (a and b are not indices, they are the actual values). Try mylist[0], mylist[14] = a, b instead.

    – divesh premdeep
    Nov 21 '18 at 1:12
















2












2








2








Writing a simple code to print a random list, the swap the first position integer with the last position integer and re-print the list. Keep getting error saying not subscriptable. This is for a basic python class but we are on Thanksgiving break and can't talk to professor, due when we get back.



import random

def main():

mylist=

for i in range(15):
mylist.append(random.randrange(0,25))

print(mylist)



def swap():
a, b = mylist.index[0], mylist.index[14]
mylist[b], mylist[a] = mylist[a], mylist[b]
print(mylist)

swap()

main()









share|improve this question
















Writing a simple code to print a random list, the swap the first position integer with the last position integer and re-print the list. Keep getting error saying not subscriptable. This is for a basic python class but we are on Thanksgiving break and can't talk to professor, due when we get back.



import random

def main():

mylist=

for i in range(15):
mylist.append(random.randrange(0,25))

print(mylist)



def swap():
a, b = mylist.index[0], mylist.index[14]
mylist[b], mylist[a] = mylist[a], mylist[b]
print(mylist)

swap()

main()






python python-3.7






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 '18 at 5:22









Julian Peller

8941511




8941511










asked Nov 21 '18 at 1:06









Collin Dee CortezCollin Dee Cortez

101




101








  • 1





    a and b will be set to the first and last elements of the list, so trying to access mylist[a] and mylist[b] is wrong (a and b are not indices, they are the actual values). Try mylist[0], mylist[14] = a, b instead.

    – divesh premdeep
    Nov 21 '18 at 1:12
















  • 1





    a and b will be set to the first and last elements of the list, so trying to access mylist[a] and mylist[b] is wrong (a and b are not indices, they are the actual values). Try mylist[0], mylist[14] = a, b instead.

    – divesh premdeep
    Nov 21 '18 at 1:12










1




1





a and b will be set to the first and last elements of the list, so trying to access mylist[a] and mylist[b] is wrong (a and b are not indices, they are the actual values). Try mylist[0], mylist[14] = a, b instead.

– divesh premdeep
Nov 21 '18 at 1:12







a and b will be set to the first and last elements of the list, so trying to access mylist[a] and mylist[b] is wrong (a and b are not indices, they are the actual values). Try mylist[0], mylist[14] = a, b instead.

– divesh premdeep
Nov 21 '18 at 1:12














2 Answers
2






active

oldest

votes


















3














You need to hold one of the values in a variable and then swap.



def swap():
x = mylist[0]
mylist[0] = mylist[14]
mylist[14] = x

print(mylist)





share|improve this answer































    1














    You are swapping with indexes equal to the values in the list (instead of indexes).



    Try:



    mylist[0], mylist[-1] = mylist[-1], mylist[0]



    On another observation, I believe you have to pass mylist to swap as a parameter. (unless swap is defined in main).






    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%2f53403901%2ftrying-to-swap-positions-in-a-list%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









      3














      You need to hold one of the values in a variable and then swap.



      def swap():
      x = mylist[0]
      mylist[0] = mylist[14]
      mylist[14] = x

      print(mylist)





      share|improve this answer




























        3














        You need to hold one of the values in a variable and then swap.



        def swap():
        x = mylist[0]
        mylist[0] = mylist[14]
        mylist[14] = x

        print(mylist)





        share|improve this answer


























          3












          3








          3







          You need to hold one of the values in a variable and then swap.



          def swap():
          x = mylist[0]
          mylist[0] = mylist[14]
          mylist[14] = x

          print(mylist)





          share|improve this answer













          You need to hold one of the values in a variable and then swap.



          def swap():
          x = mylist[0]
          mylist[0] = mylist[14]
          mylist[14] = x

          print(mylist)






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 21 '18 at 1:12









          Cory LCory L

          1599




          1599

























              1














              You are swapping with indexes equal to the values in the list (instead of indexes).



              Try:



              mylist[0], mylist[-1] = mylist[-1], mylist[0]



              On another observation, I believe you have to pass mylist to swap as a parameter. (unless swap is defined in main).






              share|improve this answer






























                1














                You are swapping with indexes equal to the values in the list (instead of indexes).



                Try:



                mylist[0], mylist[-1] = mylist[-1], mylist[0]



                On another observation, I believe you have to pass mylist to swap as a parameter. (unless swap is defined in main).






                share|improve this answer




























                  1












                  1








                  1







                  You are swapping with indexes equal to the values in the list (instead of indexes).



                  Try:



                  mylist[0], mylist[-1] = mylist[-1], mylist[0]



                  On another observation, I believe you have to pass mylist to swap as a parameter. (unless swap is defined in main).






                  share|improve this answer















                  You are swapping with indexes equal to the values in the list (instead of indexes).



                  Try:



                  mylist[0], mylist[-1] = mylist[-1], mylist[0]



                  On another observation, I believe you have to pass mylist to swap as a parameter. (unless swap is defined in main).







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 21 '18 at 1:26

























                  answered Nov 21 '18 at 1:13









                  Chris CharleyChris Charley

                  3,66021618




                  3,66021618






























                      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%2f53403901%2ftrying-to-swap-positions-in-a-list%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

                      "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                      Alcedinidae

                      Origin of the phrase “under your belt”?