Pycharm: Type attendu 'Integral', obtenu 'str' à la place
Je viens d'installer PyCharm 3.4 et obtenir de nouvelles mises en garde. Pas seulement ici, mais dans de nombreux endroits. Le Code est très bien, bien sûr. Quelqu'un peut traduire ce que PyCharm d'essayer de me dire et comment le silence de ces messages?
source d'informationauteur avalanchy | 2014-05-30
Vous devez vous connecter pour publier un commentaire.
Basé sur le " plus...' capture d'écran, ça ressemble à Pycharm pourrait être l'interprétation de la carte() comme si les deux termes autour de la virgule sont à la fois partie de la lambda, c'est à dire le lambda retourne juste un 2-tuple au lieu de les traiter comme deux paramètres de la carte() fonction.
Choses à essayer:
MODIFIER
Vous m'a inspiré pour aller en apprendre plus sur Python et Pycharm. 🙂
Il ressemble Pycharm est plus heureux avec l'aide d'une liste de compréhension qu'avec
map()
. À l'aide de cet exemple de données:si vous écrivez le code comme vous l'avez fait, alors vous obtenez l'erreur:
Mais si vous utilisez une compréhension de liste à la place, alors Pycharm est heureux:
Et la sortie est le même pour les deux.
ISTR de lecture que les interprétations de la liste sont privilégiées par rapport à
map()
de nos jours de toute façon, alors peut-être Pycharm est donner des coups de coude dans cette direction?Vous pouvez également vous débarrasser de cette notification, si vous obtenez la valeur de la dictionnaire avec
get()
. Cela devrait fonctionner:fresh_urls = {item.get('url') for item in items}