|
发表于 2018-12-8 20:10:44
|
显示全部楼层
本帖最后由 前路 于 2018-12-8 20:13 编辑
楼主你好,
首先小甲鱼老师的思路是:
1.用list1来装转换成列表的字符串( list(string) ),
2.用list2来装翻转后的字符串( reversed(list1) ),
3.比较list1 与 list2,但是由于list1是列表,而list2不是列表,所以两个不能直接用 == 来做判断比较,因此需要将list2转换成list类型再比较即 if list1 == list(list2)
而你的思路我大概猜想是这样:
不用去将str转成list,而是直接用原字串与翻转后的字串进行 == 判断!
那我们来简单测试一下:- >>> a = "abcba"
- >>> b = reversed(a)
- >>> c = reversed(list(a))
- >>> d = list(reversed(list(a)))
- >>> print(a,b,c,d,sep="\n")
- abcba
- <reversed object at 0x03098F70>
- <list_reverseiterator object at 0x035D9130>
- ['a', 'b', 'c', 'b', 'a']
复制代码
其实不难看到,当我们翻转字串后,返回的一个地址类型,所以你懂得!
要想比较那就得用地址内容比较,因此转换为list是为了避免reversed()的影响!
|
|