我有一个有时会返回NoneType值的方法.那么如何质疑一个NoneType变量呢?例如,我需要使用if方法
if not new:
new = '#'
Run Code Online (Sandbox Code Playgroud)
我知道这是错误的方式,我希望你明白我的意思.
由于Python不提供其比较运算符的左/右版本,它如何决定调用哪个函数?
class A(object):
def __eq__(self, other):
print "A __eq__ called"
return self.value == other
class B(object):
def __eq__(self, other):
print "B __eq__ called"
return self.value == other
>>> a = A()
>>> a.value = 3
>>> b = B()
>>> b.value = 4
>>> a == b
"A __eq__ called"
"B __eq__ called"
False
Run Code Online (Sandbox Code Playgroud)
这似乎称为两种__eq__功能.只是寻找官方的决策树.
{
"_id" : 160,
"info" : [
{
'name': 'Serg',
'proff': 'hacker'
},
null,
]
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我的数组中有null元素,我需要一个通用解决方案,它将从info数组中删除null元素.
我试过这个:
for doc in iter:
people.update({ '_id' : doc['_id']}, { '$pull' : { 'info' : 'null' }})
Run Code Online (Sandbox Code Playgroud)
哪里iter是文件集合.并且people是一个集合
我也在shell中试过这个:
> db.people.findAndModify({ query: {}, update: {'$pull': {info:null} } } )
Run Code Online (Sandbox Code Playgroud)
但是上面的例子都没有从我的文档中删除这个null!))
我很难理解这个
我试过:
if not None:
print('True')
Run Code Online (Sandbox Code Playgroud)
为什么它打印 True?不None应该是类型None吗?
我试图在pyspark中编写一个用户定义的函数,用于确定数据框中的给定条目是否为坏(Null或NaN).我似乎无法弄清楚我在这个函数中做错了什么:
from pyspark.sql.functions import UserDefinedFunction
from pyspark.sql.types import *
def is_bad(value):
if (value != value | (value.isNull())):
return True
else:
return False
isBadEntry = UserDefinedFunction(lambda x: is_bad(x),BooleanType())
df_test = sql.createDataFrame([(1,1,None ), (1,2, 5), (1,3, None), (1,4, None), (1,5, 10), (1,6,None )], ('session',"timestamp", "id"))
df_test =df_test.withColumn("testing", isBadEntry(df_test.id)).show()
Run Code Online (Sandbox Code Playgroud)
这是一个神秘的错误:
Py4JJavaErrorTraceback (most recent call last)
<ipython-input-379-b4109047ba40> in <module>()
1 df_test = sql.createDataFrame([(1,1,None ), (1,2, 5), (1,3, None), (1,4, None), (1,5, 10), (1,6,None )], ('session',"timestamp", "id"))
2 #df_test.show()
----> 3 df_test =df_test.withColumn("testing", isBadEntry(df_test.id)).show()
/usr/local/spark/python/pyspark/sql/dataframe.py …Run Code Online (Sandbox Code Playgroud) 我有一个 JSON 响应,其中 JSON 消息中的大多数键值对都为 NULL。
Python 解释器不喜欢它:
NameError:未定义全局名称“null”
函数如下:
def api_notification_invoke(notid):
data = {
"status": null,
"message": null,
"errors": null,
"method": "POST"
}
js = json.dumps(data, indent=4)
resp = Response(js, status=200, mimetype='application/json')
return resp
Run Code Online (Sandbox Code Playgroud) python ×4
nonetype ×2
arrays ×1
comparison ×1
flask ×1
mongodb ×1
nan ×1
null ×1
pymongo ×1
pyspark ×1
python-3.x ×1
user-defined ×1