比较列表中的字符串对象-Python

比较列表中的字符串对象-Python,python,Python,所以我试着比较这个列表中的字符,当出现一些情况时,比如如果列表中的一个值,例如“EE”是相同的,它将返回true并附加一个“Q”来分隔字母,所以列表看起来像这样 message = ["TS", "EE", "RE", "Z"] 所以我正常地试过,没有循环,但当我循环时,它说字符串索引超出范围 message = ["TS", "EQ", "ER" "EZ"] 循环时 a = '' a = message[1] if a[0] == a[1]: print("True") else

所以我试着比较这个列表中的字符,当出现一些情况时,比如如果列表中的一个值,例如“EE”是相同的,它将返回true并附加一个“Q”来分隔字母,所以列表看起来像这样

message = ["TS", "EE", "RE", "Z"]
所以我正常地试过,没有循环,但当我循环时,它说字符串索引超出范围

 message = ["TS", "EQ", "ER" "EZ"]
循环时

a = ''
a = message[1]
if a[0] == a[1]:
    print("True")
else:
    print("False")

我该怎么办?首先将其转换为字符串并处理它?

注意数组中有一个元素“Z”(即消息[-1]),其中只有一个字符

for i in range(len(message)):
    a = ''
    a = message[i]
    if a[0] == a[1]:
        print("True")

您的问题是最后一个元素是长度
1
,因此您试图在没有第二个元素时访问第二个元素,即
超出索引错误
这些
a='
行没有完成任何操作,因为您在下一行替换了
a
的值。对于数组中的最后一项(字母
Z
)没有位置1,因为字符串仅由1个字符组成。
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