0
array='abcdcba'
array=list(array)
palindrome=[]
for x in range (0,len(array)):
list1 = []
list1.append(array[x])
for y in range(x+1,len(array)):
list1.append(array[y])
list2=list1[::-1]
if list1==list2:
palindrome.append(list1)
print(palindrome)
我想找到給定的字符串中的迴文,我遇到奇怪的行爲。迴文蟒奇怪
當我找到迴文bcdcb時,我將列表追加到迴文數組中。 然後,當我在下一次迭代中向list1添加新值時,該值也會附加到迴文列表中;使其成爲bcdcba
cdc也一樣;它將它打印爲cdcba。
我得到的輸出是:
[['a', 'b', 'c', 'd', 'c', 'b', 'a'], ['b', 'c', 'd', 'c', 'b', 'a'], ['c', 'd', 'c', 'b', 'a']]
的'爲y in ...'循環在每次迭代中都使用相同的'list1'。你的意思是把'list1 = []'放入內部循環而不是外部循環嗎? – TigerhawkT3