小编nai*_*ter的帖子

如果列表中的项目存在,如何删除它?

new_tag从带有self.response.get("new_tag")selected_tags来自复选框字段的表单文本字段中获取

self.response.get_all("selected_tags")
Run Code Online (Sandbox Code Playgroud)

我把它们组合成这样:

tag_string = new_tag
new_tag_list = f1.striplist(tag_string.split(",") + selected_tags)
Run Code Online (Sandbox Code Playgroud)

(f1.striplist是一个删除列表中字符串内部空格的函数.)

但是在tag_list空的情况下(没有输入新标签)但有一些selected_tags,new_tag_list包含一个空字符串" ".

例如,来自logging.info:

new_tag
selected_tags[u'Hello', u'Cool', u'Glam']
new_tag_list[u'', u'Hello', u'Cool', u'Glam']
Run Code Online (Sandbox Code Playgroud)

如何摆脱空字符串?

如果列表中有空字符串:

>>> s = [u'', u'Hello', u'Cool', u'Glam']
>>> i = s.index("")
>>> del s[i]
>>> s
[u'Hello', u'Cool', u'Glam']
Run Code Online (Sandbox Code Playgroud)

但是如果没有空字符串:

>>> s = [u'Hello', u'Cool', u'Glam']
>>> if s.index(""):
        i = s.index("")
        del s[i]
    else:
        print "new_tag_list …
Run Code Online (Sandbox Code Playgroud)

python list

218
推荐指数
7
解决办法
41万
查看次数

使用if的Lambdas语法错误

我们以这个简单的数据集为例:

example_set  = pd.DataFrame(data = {"dirr":[1,0,-1,-1,1,-1,0], 
                                    "value": [125,130,80,8,150,251,18], 
                                    "result":[np.NaN for _ in range(7)]})
Run Code Online (Sandbox Code Playgroud)

以下行返回 error:invalid syntax

example_set["result"].apply(lambda x : example_set["value"]if x["dirr"]==1)
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?如果没有,请不要提出如何做到的解决方案lambda:这只是我为弥补我的问题而做出的一个超级简化的例子.

python lambda pandas

1
推荐指数
1
解决办法
354
查看次数

标签 统计

python ×2

lambda ×1

list ×1

pandas ×1