简单的问题:
Matplotlib有一个返回两个值的函数:
locs,label = plt.yticks()
Pylint抱怨这行代码,告诉我“使用了内置函数映射”。所以我去了派林特网站发现了这个:http://pylint-messages.wikidot.com/messages:w0141 所以,我试图用列表理解来修复这个警告。但是正确的形式是什么呢?在
^{pr2}$不起作用。在
谢谢!在
编辑:我做了一个简单的测试脚本来显示问题,问题就在下面一行:
#!/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以适应列表理解?谢谢
是从函数接收两个变量的正确方法。您可以将它作为单个变量接收,并使用tuple对象,但这是毫无意义的。在
可能是派林在抱怨
plt.yticks
。除了超出你的控制之外,一般来说,使用列表理解而不是map
,只是在很多情况下。在在
plt.yticks(LOCS, map(lambda x: "%.2f" % x, LOCS))
的情况下,列表理解可能更具可读性,可能更快。在相关问题 更多 >
编程相关推荐