1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Python help with sequences and elements?

  1. Feb 12, 2015 #1
    1. The problem statement, all variables and given/known data
    My professor wants us to program on Python, where we have a certain sequence, for example:
    sequence = ("one", "two", "three", "four")
    I need to replace one of the sequence elements (example: "one") with another element (example: instead of the word "one", I need to put "zero").

    2. The attempt at a solution
    I really have no idea how to do it, but I guess I have to start with.

    sequence = ("one", "two", "three", "four")

    Do I need to use something like:

    sequence [1 : : 2]

    or something else?

    Would really appreciate if you guys would help.
    I would appreciate even a hint or advice on which path to take to be able to write this.
     
  2. jcsd
  3. Feb 12, 2015 #2

    BiGyElLoWhAt

    User Avatar
    Gold Member

    Do you need to replace it everytime it shows up? Might be able to handle this with a simple if statement. Is the sequence a while loop?
     
  4. Feb 12, 2015 #3
    I think I figured it out actually! It works when I do it:

    sequence = ("one", "two", "three", "four")
    sequence2 = ("zero",)+sequence[1::]
    print (sequence2)
     
  5. Feb 12, 2015 #4

    BiGyElLoWhAt

    User Avatar
    Gold Member

    Cool beans man.
     
  6. Feb 12, 2015 #5

    BiGyElLoWhAt

    User Avatar
    Gold Member

    I'm not a huge python guy myself, but I was thinking something like
    for(k=0, sequence(k::k)!="one", k++){
    print(sequence(k::k)
    else print("zero")
    }
    This looks suspiciously like java though...
     
  7. Feb 12, 2015 #6

    BiGyElLoWhAt

    User Avatar
    Gold Member

    lol, i'm not eveen going to change that. :D
     
  8. Feb 12, 2015 #7
    Hahah, thank you for trying to help, though. Really appreciate it, man!
     
  9. Feb 12, 2015 #8

    Mark44

    Staff: Mentor

    Something else.
    Given the definition you have above, the statement below will change the string at index 1 to the string "four".
    Code (Text):
    sequence[1] = "four"
    Note that indexes start at 0.

    Edit: My lack of expertise in Python is showing. Defining a sequence as shown in the Attempt section above makes it a tuple, which is immutable. Defining a sequence as I did, with brackets, makes it a list, and mutable.
     
    Last edited: Feb 12, 2015
  10. Feb 12, 2015 #9

    Dick

    User Avatar
    Science Advisor
    Homework Helper

    Well, no it won't. As written 'sequence' is a tuple. Tuples are immutable - you can't change them. To do something like that you'd need to change 'sequence' to a list - which is mutable.
     
  11. Feb 12, 2015 #10

    Mark44

    Staff: Mentor

    @Dick, it worked for me. This is an exact cut-and-paste from my python session.
    Code (Python):
    Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> sequence = ["one", "two", "three"]
    >>> sequence
    ['one', 'two', 'three']
    >>> sequence[1] = "four"
    >>> sequence
    ['one', 'four', 'three']
     
     
  12. Feb 12, 2015 #11

    Dick

    User Avatar
    Science Advisor
    Homework Helper

    Sure. That's with 'sequence' a list. Try it with the tuple ('one','two','three').
     
  13. Feb 12, 2015 #12

    Mark44

    Staff: Mentor

    You're right, Dick. With parentheses, the sequence is immutable.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Python help with sequences and elements?
  1. Python Help in Plotting (Replies: 14)

  2. CSC131 Python Help (Replies: 6)

Loading...