相关疑难解决方法(0)

python运算符,没有"不在"的运算符

这可能是一个愚蠢的问题,但是看看运算符到函数的映射,我注意到没有表达not in运算符的函数.起初我认为这可能是因为解释器只是重新排序not x in y,但有一个函数is not似乎应该表现得完全相同not in.我错过了什么,或者该操作员真的不存在?

这是一个非常愚蠢的例子,你可能想要这个:

def compare_iter(a,b,func):
    return [func(aa,bb) for aa,bb in zip(a,b)]

my_compare=compare_iter(xx,yy,lambda x,y:x not in y)  #lambda -- yuck
my_compare=map(operator.not_,compare_iter(xx,yy,operator.contains)  #extra map?  grr...
#it would be nice to do: my_compare=compare_iter(xx,yy,operator.not_contains)
Run Code Online (Sandbox Code Playgroud)

当然我可以为此编写自己的函数,但是你需要为效率付出代价,而运算符模块可以将这些代码从python中推出,因此执行速度更快.

python indexing performance

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

从numpy数组中删除None的有效方法

有没有一种有效的方法从numpy数组中删除Nones并将数组调整为新的大小?

例如,如果不在python中迭代它,你将如何从这个帧中删除None.我可以轻松地遍历它,但正在进行一次可能被多次调用的api调用.

a = np.array([1,45,23,23,1234,3432,-1232,-34,233,None])
Run Code Online (Sandbox Code Playgroud)

python numpy

13
推荐指数
2
解决办法
1万
查看次数

Python:filter(None,[list of bools])行为

编辑:阅读建议的链接后,我不知道为什么这被标记为重复.起诉我.

任何人都可以帮助我理解为什么filter(None, [list of bools])删除False值?

请考虑以下事项:

low = 25 
high = 35
to_match = [15, 30, 32, 99]
def check(low, high, to_match):
    return [low <= i <= high for i in to_match]
Run Code Online (Sandbox Code Playgroud)

check(low, high, to_match) 回报 [False, True, True, False]

filter(None, check(low, high, to_match)) 回报 [True, True]

所以我想,Python必须考虑的FalseNone!令我惊讶的是,False is None回归False!

A)我错过了什么?

B)如何仅过滤None来自的值[True, None, False]

python

11
推荐指数
2
解决办法
1万
查看次数

如何使函数返回什么?

我有一个函数调用crawl,它将返回一个网站的链接.然后我做了类似的事情:

found.append(crawl()) (找到了一个清单)

只要爬网返回有效链接,这样就可以正常工作,但有时它不会返回任何内容.因此,将值None添加到列表中.

所以我的问题是,是否可以从中返回一些crawl不会在列表中添加任何内容的内容?

python

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

在Python3的map函数中排除空值

map用来处理Python3.6中的列表:

def calc(num):
    if num > 5:
        return None
    return num * 2


r = map(lambda num: clac(num), range(1, 10))
print(list(r))

# => [2, 4, 6, 8, 10, None, None, None, None]
Run Code Online (Sandbox Code Playgroud)

我期望的结果是:[2, 4, 6, 8, 10]

当然,我可以使用它filter来处理map结果。但是有没有办法map直接返回我想要的结果?

python python-3.x map-function

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

做 my_list = list(filter(None, my_list)) 的目的是什么

我在我正在阅读的一段代码中看到了以下行,但我不明白它的目的:

my_list = list(filter(None, my_list))
Run Code Online (Sandbox Code Playgroud)

my_list只是一个单词列表。为什么有人会选择这样做?在我看来,所有这些都按原样返回列表。

python filter

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

有没有办法在列表对象上使用strip()? - 蟒蛇

现在我有一个像这样的列表对象:

lst = [None, None, 'one', None, 'two', None]
Run Code Online (Sandbox Code Playgroud)

我正在尝试对它执行strip()并获得如下结果:

strip(lst)

>> ['one', None, 'two']

left_strip(lst)

>> ['one', None, 'two', None]
Run Code Online (Sandbox Code Playgroud)

这样做有一种优雅的方式吗?

PS:感谢4 @ woockashek的建议,我已经改变了地表温度
[None, None, 'one','two', None][None, None, 'one', None, 'two', None]

python

-1
推荐指数
2
解决办法
576
查看次数