簡體   English   中英

函數返回中的map與list理解

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM