草庐IT

none-task-blog

全部标签

python - 在调用函数的列表理解中有效地过滤掉 'None' 项

我有一个列表理解,它调用一个可能返回None的函数。>>>f=lambdax:xifx>>l=[f(x)forxin[1,2,3,4]][1,2,None,None]我想要像上面那样理解列表,但没有“无”条目。有什么方法可以更有效地执行以下操作,既不会产生额外的开销,又能保持列表理解的效率?>>>filter(None,[f(x)forxin[1,2,3,4]])[1,2] 最佳答案 将if添加到您的理解中,例如:l=[yforyin(f(x)forxin[1,2,3,4])ifyisnotNone]通过放置GeneratorExp

python - 如何使用 ConfigParser 将值设置为 None?

我在Python2.7中使用ConfigParser来读取配置文件,我想知道如何读取一个值,以便在Python中将其设置为常量None。目前我的代码如下:config.set("TestSeriesParameters","TestSeriesParameter",None)但是,这显示为TestSeriesParameter="None"(作为字符串)。 最佳答案 根据2.7.2文档:Whenallow_no_valueistrue(default:False),optionswithoutvaluesareaccepted;th

python - 拥有不同版本的 None 的合理方法?

使用Python3。假设您有一百万只甲虫,您的任务是对它们Blob的大小进行编目。因此,您将制作一个表格,其中每一行都是一只甲虫,行中的数字代表Blob的大小;[[.3,1.2,0.5],[.6,.7],[1.4,.9,.5,.7],[.2,.3,.1,.7,.1]]此外,您决定将其存储在一个numpy数组中,为此您用None填充列表(numpy会将其转换为np.nan)。[[.3,1.2,0.5,None,None],[.6,.7,None,None,None],[1.4,.9,.5,.7,None],[.2,.3,.1,.7,.1]]但是有一个问题,由于3个原因之一,表示为None

python - 迭代 Python 中的非 None 项目

我有一个字符串列表,其中一些恰好是None:headers=['Name',None,'HW1','HW2',None,'HW4','EX1',None,None]现在我想遍历这个列表,但跳过None条目。例如,像这样的东西会很好:forheaderinheadersifheader:print(header)但这行不通。有两种方法可以让它工作,但我都不喜欢这两种方法:forheaderin(itemforiteminheadersifitem):print(header)和forheaderinheaders:ifheader:print(header)我只是很好奇是否有更好的方法。

python - "None not in"与 "not None in"

除非我疯了ifNonenotinx和ifnotNoneinx是等价的。有首选版本吗?我想Nonenotin更像英语,因此更像pythonic,但notNonein更像是其他语言的语法。有首选版本吗? 最佳答案 它们编译成相同的字节码,所以是的,它们是等价的。>>>importdis>>>dis.dis(lambda:Nonenotinx)10LOAD_CONST0(None)3LOAD_GLOBAL1(x)6COMPARE_OP7(notin)9RETURN_VALUE>>>dis.dis(lambda:notNoneinx)10L

python - 如何使用 django-celery 配置 TASK_SERIALIZER

我正在使用django-celery,我想将TASK_SERIALIZER设置为JSON而不是pickle。我可以在每个方法的基础上通过改变我的任务装饰器来做到这一点@task到@task(serializer="json")但我想在全局范围内进行。设置TASK_SERIALIZER="json"在settings.py中不起作用。尝试运行importcelerycelery.conf.TASK_SERIALIZER="json"(隐含here)导致AttributeError:'module'objecthasnoattribute'conf'知道在通过django运行celery时

python - 字段不存在 : ManyToManyField has no field named None

我在Django1.8.8中有两个模型:classCompany(models.Model):name=models.CharField(max_length=200)members=models.ManyToManyField(User)classFolder(models.Model):name=models.CharField(max_length=200)slug=models.SlugField(null=True,blank=True)company=models.ForeignKey(Company,null=True,blank=True)parent=models.F

python - SQLAlchemy 引发 None,导致 TypeError

我在SQLAlchemy中使用声明式扩展,当我试图保存具有不正确数据的映射类的实例(特别是用nullable=False声明且值为None的列)时,我注意到一个奇怪的错误。类(简化):classUser(Base):__tablename__='users'id=Column(Integer,primary_key=True,autoincrement=True)userid=Column(String(50),unique=True,nullable=False)导致错误(session是一个SQLAlchemysession):>>>u=User()>>>session.add(u

Python - 从可能返回 None 的函数中设置变量的安全且优雅的方法

我正在寻找一种更优雅的方法来声明变量值,其中函数可能返回None并且在函数调用之后有链式方法。在下面的示例中,我使用BeautifulSoup传递HTML文档,如果未找到我要查找的元素,初始函数调用将返回None。链式方法随后会破坏代码,因为.string不是None对象的方法。这一切都说得通,但我想知道是否有一种更简洁的方法来编写这些不会在None值上中断的变量声明。#Iwanttodosomethinglikethisbutitthrowserrorifsoup.findreturns#nonebecause.stringisnotamethodofNone.title=soup.

python - None 在代码对象的 co_consts 属性中做了什么?

以下函数返回无:In[5]:deff():...:pass所以我对这个输出并不感到惊讶:In[8]:dis.dis(f)20LOAD_CONST0(None)3RETURN_VALUEIn[10]:f.__code__.co_constsOut[10]:(None,)好的,这是有道理的。但是现在,考虑以下函数:In[11]:defg():....:return1In[12]:dis.dis(g)20LOAD_CONST1(1)3RETURN_VALUEIn[13]:g.__code__.co_constsOut[13]:(None,1)g没有使用None,那么为什么它在co_const