![](/img/trans.png)
[英]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.