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