初学python

看到列表这里的反转的时候,为什么定义一个列表a = ["abc","def","ghi"], 进行str(reversed(a)),结果好像是一个地址:'<list_reverseiterator object at 0x06551AF0>'。大括号外面的str或者list的类型名是不是跟C里的强制类型转化一样啊?为什么str的结果是这样的呢?

你用的是python3吧,在python3里reversed返回的就是一个生成器,需要强制转换成list
你看的是python2的书吧,还是用python 2.7运行例子好了追问

我用的是python3,那个生成器就是一个地址吗?只能转化为list类型是吗?

追答

" ".join(reversed(a))
如果元素都是字符串,像上面这样转换成字符串也行,生成器就是按需要产生数据,不像list一次给出所有元素,生成器只会根据用户要求调用next()方法顺序产生必要的元素,如果没有用到后面的元素就不会给出后面的元素

追问

谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-25
reserved是逆序排列,str是转化成字符串的形式输出追问

那为什么结果是地址呢?

追答

我也不清楚

追问

。。。。。。

追答

你看下这个,这个讲了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网