• Support PF! Buy your school textbooks, materials and every day products Here!

Python help with sequences and elements?

  • #1
17
1

Homework Statement


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.
 

Answers and Replies

  • #2
BiGyElLoWhAt
Gold Member
1,560
113
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?
 
  • #3
17
1
I think I figured it out actually! It works when I do it:

sequence = ("one", "two", "three", "four")
sequence2 = ("zero",)+sequence[1::]
print (sequence2)
 
  • #4
BiGyElLoWhAt
Gold Member
1,560
113
Cool beans man.
 
  • #5
BiGyElLoWhAt
Gold Member
1,560
113
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...
 
  • #6
BiGyElLoWhAt
Gold Member
1,560
113
lol, i'm not eveen going to change that. :D
 
  • #7
17
1
lol, i'm not eveen going to change that. :D
Hahah, thank you for trying to help, though. Really appreciate it, man!
 
  • #8
33,262
4,963

Homework Statement


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?
Something else.
Given the definition you have above, the statement below will change the string at index 1 to the string "four".
Code:
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.
acurate said:
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.
 
Last edited:
  • #9
Dick
Science Advisor
Homework Helper
26,258
618
Something else.
Given the definition you have above, the statement below will change the string at index 1 to the string "four".
Code:
sequence[1] = "four"
Note that indexes start at 0.
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.
 
  • #10
33,262
4,963
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.
@Dick, it worked for me. This is an exact cut-and-paste from my python session.
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']
 
  • #11
Dick
Science Advisor
Homework Helper
26,258
618
@Dick, it worked for me. This is an exact cut-and-paste from my python session.
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']
Sure. That's with 'sequence' a list. Try it with the tuple ('one','two','three').
 
  • #12
33,262
4,963
You're right, Dick. With parentheses, the sequence is immutable.
 

Related Threads for: Python help with sequences and elements?

Replies
4
Views
884
Replies
4
Views
2K
Replies
3
Views
2K
Replies
2
Views
886
Replies
8
Views
562
Replies
1
Views
664
Replies
4
Views
1K
Replies
6
Views
2K
Top