python 总是得到奇怪的返回值,本应是字符串,为什么成了迭代器
 class Solution:
    def optimalDivision(self, nums):
        """
        :type nums: List[int]
        :rtype: str
        """
        _len=len(nums)
        nums=[str(nums[i] for i in range(_len))]
        if _len<=2:
            return '/'.join(nums)
        else:
            return '{}/({})'.format(nums[0],'/'.join(nums[1:]))

以上代码运行以后,return 的结果是一个迭代器
. at 0x7fd1b0227468>/()
为什么?

1个回答

nums被你赋值成一个迭代器了,str()的右括号有问题

class Solution:
    def optimalDivision(self, nums):
        """
        :type nums: List[int]
        :rtype: str
        """
        _len=len(nums)
        nums=[str(nums[i]) for i in range(_len)]
        if _len<=2:
            return '/'.join(nums)
        else:
            return '{}/({})'.format(nums[0],'/'.join(nums[1:]))
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!