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>/()
为什么?

0

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:]))
-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
eclipse下出现奇怪字符的解决方法
eclipse在代码编辑界面出现了奇怪的字符,如下图: 其中包括:换行符,制表符等。 解决方法如下: 点击工具栏的显示空格字符即可。
iterator迭代器 || begin()、end()返回值类型
迭代器是广义上的指针,事实上,它可以是指针,也可以是一个对其执行类似指针的操作——如解除引用(如operator*())和递增(如operator++()) ——的对象。 通过将指针广义化为迭代器,让STL能够为各种不同的容器类(包括哪些简单指针无法处理的类)提供统一的接口。每个容器类都定义了一个合适的迭代器,该迭代器的类型是一个名为iterator的typedef,其作用域为整个类。 #i...
C++ 迭代器 it返回的内容以指针方式返回
#include using namespace std; #include class A { public: int* GetA(int b) { for(std::vector::iterator it = _a.begin(); it != _a.end(); ++it) {
Java迭代器Iterator浅析——next/remove操作
java中集合ArrayList提供了Iterator来操作其中的元素。但是此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的:在创建迭代器之后,除非通过迭代器自身的remove 或add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出ConcurrentModificationException。 一、迭代器是失效问题
迭代器 Iterator与生成器Generator,从dict.keys()说起
1 beginner https://anandology.com/python-practice-book/iterators.html 2 in-depth http://www.dabeaz.com/generators-uk/
Python迭代器,一行一行读取文本
在处理文本的时候,首先要做的是读取一下文本文件,一般的方法如下: corpus = open('这个位置放文件绝对路径', 'r').readlines() 将这个文本文件按行读取,每行一个元素放到一个list中。但是需要将整个文本文件先全部装入内存中。 如果文本文件太大,不能一次性读入内存怎么办。要使用Python中的迭代器,一次读取一个成员,然后对这个成员进行某种操作就可以了。 具体方
Office Word中回车符号变为奇怪的符号如何修正!
Word中回车符号变为奇怪的符号如何修正!">如 上图,尤其是在Word2007中,回车符的样式变为奇特的形状,有点儿像音乐符号,看起来很不习惯。 想要便会2003版本中的回车符可参照下列的步骤: 1.去开始菜单中找到Microsoft office项目->Microsoft Office Tools(工具) -> Microsoft Office 2003 Language Setti
Python入门之函数结构——第2关:函数的返回值 - 可有可无的return
任务描述 函数在进行运算处理后,返回的值被称为返回值。函数返回的值是通过return语句执行。返回值能够让我们直接得到函数处理的结果,而不必关心函数内部复杂繁重的运算过程,大大提高了编程效率。 本关的主要目标是让读者了解并掌握函数返回值的相关知识。 相关知识 return语句将值返回到调用函数的出口,函数中一定要有return返回值才是完整的函数。如果我们没有在函数中定义函数返回值,那么程...
了解迭代器(hasNext(),next()和 其中的强制类型转换)
结合API文档学习:常用 hasNext() 和 next()方法 。其实还有一种List特有的获取迭代器 的 方法 : ListIterator 。ListIterator 包括   (1)add()方法:给List集合添加元素,不出现并行修改异常。                               (2)hasNext()方法 : 检验后面还有没有元素。 从前往后查找。       ...
python 迭代器yield用法实例
1. 概念:yield是python中的一个generator(生成器), 是一个类似子函数中的 return 的关键字,只是这个子函数返回的是个生成器。当调用这个子函数的时候,子函数内部的代码并不立马执行 ,这个子函数只是返回一个生成器对象当你使用for进行迭代的时候,子函数中的代码才会执行在这里,所有的值都存在内存当中,所以并不适合大量数据2. 实例:可以用于子函数中变量的迭代式返回(子函数返...
C++调用 python 函数及返回值的处理【元组,字符串...】
http://www.cnblogs.com/DxSoft/archive/2011/04/01/2002676.html Python 脚本  py_test.py : #coding:utf-8 def get_int( ): a = 10 b = 20 return a + b def get_str( s1, s2 ): #return s1
python 处理字符串时返回的值是nan
最近处理网页数据时,发现list中有个元素为nan,然后用type查看类型时发现是浮点型float,一般可以用math库中的isnan函数进行判断,还有一种方法是numpy库里的np.isnan函数进行判断。...
结果集(ResultSet)用法
结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等.   结果集读取数据的方法主要是getXXX(),他的参数可以使整型表示第几列(是从1开始的),还可以是列名.返回的是对应的XXX类型的值.如果对应那列时空值,XXX是对象的话返回XXX型的空值,如果XXX是数
Python 字典类函数:items(返回列表),iteritems(返回迭代器)
字典items()方法和iteritems()方法,是python字典的内建函数,分别会返回Python列表和迭代器,下面一起来看下字典items()和iteritems()的具体操作方法。 作用 python字典的items方法作用:是可以将字典中的所有项,以列表方式返回。如果对字典项的概念不理解,可以查看Python映射类型字典基础知识一文。因为字典是无序的,所以用items方法返
C#语法小知识(十四)迭代器(IEnumerable/IEnumerator/yield)
C#里有一个很好用的foreach关键字,有些时候可以取代for循环来遍历一个数据结构,例如List、Dictionary等。而自定义的类型如果希望可以foreach来遍历的话就需要继承IEnumerable,并为它添加一个迭代器类(继承IEnumerator)。 我之前在小话设计模式(十五)迭代器模式中简单介绍过IEnumerable的写法,这里就以此为例。
python中使用input函数时,为什么得到的返回值不能判断是否在列表里?
在python中,我们使用input()函数时,会获取到一个返回值,如果我们拿这个返回值做判断,判断是否在列表中时,切勿忘记它的返回值类型是个字符型,要将它的返回值转成int型才能在列表中判断,因为列表中存的元素时int型的,字符是没法和整数型作比较的,下面我放一个示例。 while 1: data = eval(input('客户端: ')) if data in [1,
小程序request返回值真机和工具不一样,需要将字符串转为json
小程序request返回值真机和工具不一样,需要将字符串转为json,目前还在解决中。 res.data。status无法取得 工具里是json,真机却变成字符串了
使用迭代器进行遍历
#include #include using namespace std; struct Student { int sno; char name[31]; }; int main() { vector a1; vector a2; vector stus; a1.push_back(2001); a1.push_back(200
python 运算符重载迭代器对象__iter__,__next__
#python中所有的迭代环境都会先尝试__iter__方法,在尝试__getitem__,只有在对象不支持迭代协议时,才会尝试索引#迭代环境是通过调用内置函数iter去尝试寻找__iter__方法来实现的,而这种方法应该返回一个迭代器,如果已经提供了,python会重复调用这个迭代器对象的next方法,直到发生stopIteration异常,如果没有找到__iter__方法,python会改用_...
python迭代器与解析
python迭代器与解析 迭代器初探 可能大家都已经知道for循环语句可以作用域任何序列类型,包括列表、元组以及字符串。实际上for循环能够作用于任何可迭代的对象,除了for语句,python中所有会从左至右的迭代工具都是如此,这些迭代工具包括:for循环、列表解析、in成员关系测试以及map内置函数等…. 这里就涉及到很重要的一个概念—–可迭代对象,除此之外还有一个与它很类似的概念,叫做迭...
使用迭代器 字符串插入
编程题#5:字符串插入 注意: 总时间限制: 1000ms 内存限制: 65536kB、 描述 有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的'\0'。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。 输入 输入包括若干行,每一行为一组测试数据,格式为 str subst...
python迭代器、生成器和yield语句
http://blog.csdn.net/pipisorry/article/details/22107553 一、迭代器(iterator) 迭代器:是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。任何这类的对象在Python中都可以用for循环或其他遍历工具迭代,迭代工具内部会在每...
python 3-5 如何对迭代器做切片操作
文件对象切片操作 islice用于切片操作 islice(iterable, [start,] stop [, step]) --&amp;gt; islice object islice(f,0,10) 取文件的前10行 islice(f,100,300) #生成 文件 100 到 300 行的生成器,不包含第300行 islice(f,500) #生成500行以内的生成器 islice(f,500,...
Java:使用Iterator迭代器遍历集合数据
1、使用迭代器遍历ArrayList集合 package com.jredu.oopch07; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Ch05 { public static void main(String[] args) { // TOD
对迭代器Iterator的next()方法的理解
首先纠正之前错误的观念:迭代器不是静止不动的,它是随着next()方法而移动的 一开始迭代器在所有元素的左边,调用next()之后,迭代器移到第一个和第二个元素之间,next()方法返回迭代器刚刚经过的元素。 hasNext()若返回True,则表明接下来还有元素,迭代器不在尾部。 remove()方法必须和next方法一起使用,功能是去除刚刚next方法返回的元素。   转载:https:...
Python3.x中input的变化:input函数默认返回字符串类型
背景:学习《Python基础教程第2版》,第10.3章 标准库:一些最爱 时, 运行如下例子: 用户选择投掷的骰子数以及每个骰子具有的面数,随机返回骰子的点数,代码如下: from random import randrange num = input('How many dice? ') sides = input('How many sides per die? ') sum = ...
谈谈python迭代器与生成器
问题 python 为什么会有迭代器和生成器这两个东西,或者可以说这两个东西有什么优点? 解答 要回答问题一,首先就要知道什么是迭代器?它是一个带状态的对象,他能在你调用next()方法的时候返回容器中的下一个值,任何实现了iter和next()(python2中实现next())方法的对象都是迭代器,iter返回迭代器自身,next返回容器中的下一个值,如果容器中没有更多元素了,则抛出St...
python2.x里面的input()和raw_input()函数以及3.x中的input()函数的区别
在python3.0及以上的版本中,raw_input()函数已经和我们说再见了,但是呢,input()函数则很好地替代了消失了的raw_input()函数。而且现在的input()函数所返回的值都是 字符串,所以对于要有int,float等类型的数值必须进行强制的类型转换。下面让我对3.0的input()函数做个小总结: >>> str=input("abc: ") abc: 15
python用迭代器,生成器完成斐波那契数列
        我们发现迭代器最核心的功能就是可以通过next()函数的调用来返回下一个数据值。如果每次返回的数据值不是在一个已有的数据集合中读取的,而是通过程序按照一定的规律计算生成的,那么也就意味着可以不用再依赖一个已有的数据集合,也就是说不用再将所有要迭代的数据都一次性缓存下来供后续依次读取,这样可以节省大量的存储(内存)空间。        数学中有个著名的斐波拉契数列(Fibonacci...
Python 递归函数返回值为None的解决办法
每篇一句: Promises are often like the butterfly, which disappear after beautiful hover. 递归函数:  在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是 递归函数 。   递归函数可以简化我们的代码,但是递归函数的 返回值 有时候会出现一些意想不到的问题。 先来看以下一段代码: de
if 条件是字符串 返回值也是true
写法就是if(常量),只要常量不是乱码,不是为0,也不是为false,也不是一个未定义或者其他错误值,if就会判定为真。
C++begin和end运算符的返回迭代器的类型如何判断
begin和end返回的具体类型应该由对象是否是常量进行确定,如果对象是常量,则这两个函数返回const_iterator; 如果对象不是常量,则这个函数返回iterator类型。下面利用一个超级简单的小程序进行验证二者的类型,源代码如下: #include #include using namespace std; int main() { vector ivec;
Python:用迭代器和生成器降低程序内存占用率
情况描述:用一个30行代码的python文件,处理300M的数据,用到的数据结构有:pandas.DataFrame(), list, dict,二重循环,处理完一次写入磁盘。 问题:内存占用率97%-99%,大约1.5G内存,执行时间超过12h。有什么办法可以降低python内存占用率,缩短执行时间吗? 建议一:用xrange生成器,替代range列表 因为rang是list,python
Java HashMap的详解和迭代器问题
重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。   再来看看HashMap和TreeMap有什么区别。HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到
Python __iter__()迭代器 (十三)
__iter__():迭代器,生成迭代对象时调用,返回值必须是对象自己,然后for可以循环调用next方法 next():每一次for循环都调用该方法(必须存在)class A(object): def __init__(self,num): self.num = num self.start_num = -1 def __iter__(
c++调用python返回值
#include #include #include using namespace std; int main(){ //初始化 Py_Initialize(); //PyRun_SimpleString("print '12'");   单句执行  PyObject* pMod = NULL; PyObject* pFunc = NULL; PyObject* result = NULL;
vector::erase方法,返回值是更新后的容器的被删除元素的后一个元素的迭代器,如果需要指向删除元素的前面一个元素的迭代器就要-1
vector::erase方法,返回值是更新后的容器的被删除元素的后一个元素的迭代器,如果需要指向删除元素的前面一个元素的迭代器就要-1
为什么range不是迭代器?range到底是什么类型?
迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在。在关于迭代器的系列文章中(链接见文末),我至少提到了 23 种生成迭代器的方法。有些方法是专门用于生成迭代器的,还有一些方法则是为了解决别的问题而“暗中”使用到迭代器。 在系统学习迭代器之前,我一直以为 range() 方法也是用于生成迭代器的,现在却突然发现,它生...
如何通过迭代器来或得对应元素的下标
首先介绍一个函数:distance,它返回的是两个迭代器之间的距离。 使用这个函数,就能完成迭代器与下标之间的转换:下标 = 当前迭代器位置-容器头部。 看一个例子就明白了: [cpp] view plaincopy #include    #include    using namespace std;      int main 
在C/python中执行linux命令并得到返回值以及输出
一般来说,用shell的方便之处在于,能够直接调用linux系统命令,方便的得到结果。 但是shell scprit的约束重重(这里不再讲了)。下面说一下在C和python中如何调用linux命令、得到返回值并得到输出 1. python,使用os库/commands库 方法1)使用commands.getstatusoutput方法,这是一个神奇的方法,能够直接得到返回值以及命令输出。官网
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 为什么学习python 为什么要学习python