简体   繁体   中英

Comparing string objects within a list - Python

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?

Note that there is an element "Z" in the array (ie 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM