|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 celestewang 于 2016-5-24 21:09 编辑
1)
def palindrome(string):
list1 = list(string)
list2=list1
list1.reverse()
if list1 == list2:
return '是回文联!'
else:
return '不是回文联!'
print(palindrome('上海自来水来自海上'))
运行上面的代码,打印的是: 是回文联
2)
def palindrome(string):
list1 = list(string)
list2=list1
#list1.reverse()
if list1.reverse() == list2:
return '是回文联!'
else:
return '不是回文联!'
print(palindrome('上海自来水来自海上'))
运行上面的代码:运行的是:不是回文联
2)list.reverse()和reversed()的区别
string='上海'
>>> list1=list(string)
>>> list1
['上', '海']
>>>list2=list1.reverse()
>>> list1
['海', '上']
>>> list2
>>> type(list2)
<class 'NoneType'>
>>> list3=reversed(list1)
>>> list3
<list_reverseiterator object at 0x0000000003406F60>
>>> list(list3)
['上', '海']
对于list2不是很理解?难道list.reverse()和reversed()不同吗?那sort函数呢
因为所有的元位置操作都没有返回值(或者说返回None),红色部分相当于 if None == list2,显然是False,可以用第一个那样,或者: - if list(reversed(list1)) == list2:
复制代码
|
|