看到列表这里的反转的时候,为什么定义一个列表a = ["abc","def","ghi"], 进行str(reversed(a)),结果好像是一个地址:'<list_reverseiterator object at 0x06551AF0>'。大括号外面的str或者list的类型名是不是跟C里的强制类型转化一样啊?为什么str的结果是这样的呢?
你用的是python3吧,在python3里reversed返回的就是一个生成器,需要强制转换成list
你看的是python2的书吧,还是用python 2.7运行例子好了追问
你看的是python2的书吧,还是用python 2.7运行例子好了追问
我用的是python3,那个生成器就是一个地址吗?只能转化为list类型是吗?
追答" ".join(reversed(a))
如果元素都是字符串,像上面这样转换成字符串也行,生成器就是按需要产生数据,不像list一次给出所有元素,生成器只会根据用户要求调用next()方法顺序产生必要的元素,如果没有用到后面的元素就不会给出后面的元素
谢谢
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-01-25
reserved是逆序排列,str是转化成字符串的形式输出追问
那为什么结果是地址呢?
追答我也不清楚
追问。。。。。。
追答你看下这个,这个讲了