|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大神好:
在课后作业答案中,小甲鱼给出的 回联文答案是:
'''def palindrome(string):
list1 = list(string)
list2 = reversed(list1)
if list1 == list(list2):
return '是回文联!'
else:
return '不是回文联!'
print(palindrome('上海自来水来自海上'))''''
我这里有个小疑问,就是if list1 == list(list2): 这一句为什么list1 == list(list2),而不是list1 == list2?
我们把代码分解,一条一条看
- >>> string='上海自来水来自海上'
- >>> list1=list(string)
- >>> print(list1)
- ['上', '海', '自', '来', '水', '来', '自', '海', '上']
- >>> list2=reversed(list1)
- >>> print(list2)
- <list_reverseiterator object at 0x0000000002F07888>
- >>> list2=list(reversed(list1))
- >>> print(list2)
- ['上', '海', '自', '来', '水', '来', '自', '海', '上']
复制代码
reversed()是返回一个 反向迭代器而非列表,这里我们需要将它列表化
|
|