关于.reverse()和reversed()
def couplet(m):list1 = list(m)
list2 = list(reversed(list1))
if list1 ==list2:
return '是回文联!'
else:
return '不是回文联!'
z=input("请输入:")
print(couplet(z))
这样程序可以打出来,但是如果把第三行改成list2=list1.reverse(),程序就得不到正确的答案。
是怎么一回事?
列表的内置方法大部分没有返回值!!!!
说过多少遍了啊。。 reversed(list1)函数是将list1进行翻转,返回一个可迭代独享。然后你用list()可以将之转为列表赋值给list2。
列表的内置方法list1.reverse()是将原列表进行翻转,直接修改的原列表,并不会返回一个可迭代对象。所以不能将之赋值给list2 列表的内置方法都是原地修改原来的列表,返回None 请见:https://fishc.com.cn/thread-159315-1-1.html
列表的 reverse() 方法没有返回值 哎,新鱼友 reverse是得到值并设置成那个值,也就是得到值并设置;reversed是临时设置一个值,并不会设置,也就是创造临时的值并不设置。把reversed改成reverse就和b = a和b = (a = 5)是一样的。 哎,新鱼油啊!
页:
[1]