这是因为map()返回值的本质是迭代器,只能迭代一次,第二次就为空的了所以,你的第二行代码要用: x = list(x)
或者直接用: x = list(map(str,range(5)))
map()返回的是迭代对象,迭代对象只能遍历一次,迭代对象遍历了一次之后内部的迭代指针指向最后一个元素之后,第二次遍历时从迭代指针指向元素开始,自然就没有了
map的结果是迭代器,只能迭代一次,第二次就没啦