这两种代码的区别
区别在第四行def huiwenlian(string):
list1 = list(string)
list2 = reversed(list1)
if list1 == list(list2):
print("是回文联")
else:
print("不是回文联") 输入huiwenlian(‘aaa’)后输出是回文联
def huiwenlian(string):
list1 = list(string)
list2 = reversed(list1)
if list1 == list2:
print("是回文联")
else:
print("不是回文联") 输入huiwenlian(‘aaa’)后输出不是回文联
这个是什么道理呢?为啥list1不能直接等于list2呢,必须要再一次转为list格式,list2已经是list格式了吧 用reversed函数反转得到的不是list
>>> a=
>>> b=reversed(a)
>>> type(b)
<class 'list_reverseiterator'> BngThea 发表于 2018-4-9 12:37
用reversed函数反转得到的不是list
感谢,哎,看来我对细节把握还是太差了点 reversed得到的是对象的反向迭代器。
如果想要得到新的列表,可以使用sorted(list1, reverse=True) 第四时空 发表于 2018-4-9 12:58
reversed得到的是对象的反向迭代器。
如果想要得到新的列表,可以使用sorted(list1, reverse=True)
感谢!!
页:
[1]