wmy1212 发表于 2021-6-11 16:56:07

关于回文联 用reversed的方法

def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)
    if list1 == list(list2):
      return '是回文联!'
    else:
      return '不是回文联!'
print(palindrome('上海自来水来自海上'))

我参考甲鱼思路写这个代码,自己写的时候,第4行没有加list,结果就不对【也就是写成了if list1 == list2:】
我很纳闷,,前面list1不是已经列表化处理了吗,而list2只是倒转了list1得来的呀,list2不是列表吗?

Twilight6 发表于 2021-6-11 17:00:00

本帖最后由 Twilight6 于 2021-6-11 17:01 编辑



reversed 函数生成的是一个反向迭代器,不是直接反转成列表的~

>>> a = reversed()
>>> print(a)
>>> print(list(a))

<list_reverseiterator object at 0x000002465100DDC8>


页: [1]
查看完整版本: 关于回文联 用reversed的方法