[英]Why list comprehension with map() function in python can return None
[英]map versus list comprehension in function return
简单的问题:
Matplotlib有一个返回两个值的函数:
locs,label = plt.yticks()
Pylint抱怨此行,并告诉我“已使用的内置函数映射”。 因此,我去了pylint网站,发现了这一点: http ://pylint-messages.wikidot.com/messages:w0141因此,我正在尝试使用列表理解来解决此警告。 但是正确的形式是什么?
[(locs,label) for plt.yticks()]
不管用。
谢谢!
编辑:我做了一个简单的测试脚本,以尝试显示该问题,而问题是下面的一行:
#!/usr/bin/python
""" docstring """
import matplotlib.pyplot as plt
LOCS, LABEL = plt.yticks()
plt.yticks(LOCS, map(lambda x: "%.2f" % x, LOCS)) # offending line
print(LOCS)
所以,我在错误的路线上寻找。 如何调整此lambda以列出理解? 谢谢
locs,label = plt.yticks()
是从函数接收两个变量的正确方法。 您可以将其作为单个变量接收,并使用元组对象,但这将毫无意义。
pylint可能在抱怨plt.yticks
。 除了它是你无法控制的,它不是一般最好使用列表理解,而不是map
,只是在各种情况下。
在plt.yticks(LOCS, map(lambda x: "%.2f" % x, LOCS))
,列表理解可能更易读,并且可能更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.