Reputation: 1
message = ["TS", "EE", "RE", "Z"]
So I'm trying to compare the characters within this list, and have conditions when some things arise such as if a value in the list for example "EE" is the same, it will return true and append a "Q" to separate the letters so the list looks like this
message = ["TS", "EQ", "ER" "EZ"]
So I tried it normally without looping it works but when I loop it says string index out of range.
a = ''
a = message[1]
if a[0] == a[1]:
print("True")
else:
print("False")
When looping
for i in range(len(message)):
a = ''
a = message[i]
if a[0] == a[1]:
print("True")
What should I do? Turn it into a string first and work on it?
Upvotes: 0
Views: 60
Reputation: 33
Note that there is an element "Z" in the array (i.e. message[-1]) that has only one char in it.
def getIndex(message):
for i in range(len(message)):
a = message[i]
if a[0] == a[1]:
return i
index = getIndex(message)
tmp = message[index][1]
message[index][1] = 'Q'
for x in range(index+1, len(message)):
tmp1 = message[x][0]
if len(message[x])==1:
message[x][0] = tmp
message[x][1] = tmp1
return
else:
message[x][0] = tmp
tmp = message[x][1]
message[x][1] = tmp1
Upvotes: 1