|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- def palindrome(string):
- list1 = list(string)
- list2 = reversed(list1)
- print(list1)
- print(list2)
- if list1 == list(list2):
- return '是回文联!'
- else:
- return '不是回文联!'
- print(palindrome('上海自来水来自海上'))
复制代码- ['上', '海', '自', '来', '水', '来', '自', '海', '上']
- <list_reverseiterator object at 0x00000259345396D8>
- 是回文联!
复制代码- ['上', '海', '自', '来', '水', '来', '自', '海', '上']
- <list_reverseiterator object at 0x0000019445A09908>
- 不是回文联!
复制代码 第一段代码的结果是第二个文本框,但是如果第6行代码改成"if list1==list2:",那么结果就是第一个文本框,各位大佬可以解答一下这是为什么吗?
list1是一个列表,list2是一个迭代器,就是你打印的结果那里
<list_reverseiterator object at 0x0000019445A09908>
可使用
for l in list2:
print l
打印迭代器里的值
列表和迭代器是不同的,所以要把迭代器转换成列表后才判断
|
|