2017-06-16 1 views
2

J'espère que ce n'est pas une question triviale, mais je l'ai créé une compréhension de liste avec le code suivant (code de test, vraiment):Qu'est-ce qui pourrait empêcher la compréhension d'une liste avec un nom en minuscule dans l'explorateur de variables de Spyder?

a = [1., 2., 3., 4., 5., 6., 7., 8., 9.] 
b = [d if d > 5. else None for d in a] 

... et b n'apparaît pas dans du Spyder Explorateur de variables Cependant, dans la console ipython je reçois

In [1]: b 
Out [1]: [None, None, None, None, None, 6.0, 7.0, 8.0, 9.0] 

Que se passe-t-il ici? Addenda: quand je tape c = None, c n'apparaît pas non plus dans l'explorateur de variables.

+0

Si cette question n'est pas spécifique à Python 2.7, vous devez éditer votre question pour supprimer cette balise. Dans les deux cas, vous devez également ajouter la balise Python. – miken32

+0

Je ne suis pas sûr que ce soit spécifique à Python 2.7. Je vais ajouter la balise Python, merci –

Répondre

2

(Le développement de Spyder ici) Le problème semble être avec None éléments dans le cadre de votre liste b. Si vous modifiez votre code pour

a = [1., 2., 3., 4., 5., 6., 7., 8., 9.] 
b = [d if d > 5. else False for d in a] 

alors b apparaît dans l'Explorateur variable.

Cependant, ceci est un bug et nous le réparerons pour Spyder 3.2 (à paraître dans quelques semaines).

+0

Mais alors si je trace un nuage de points de 'b' vs' a', par exemple, les cinq premiers points seront des zéros, alors que je ne veux pas que ces cinq points existent du tout ... –

+0

Je viens de vous proposer une solution temporaire pour afficher votre liste b dans l'explorateur de variables, parce que c'était votre question. Comme je l'ai dit, ce bug sera corrigé dans Spyder 3.2. –

0

NoneType est est le type de données pris en charge pour Spyder's Variable Explorer; supported data types sont

  1. Pandas dataframe, TimeSeries et objets DatetimeIndex
  2. tableaux numpy et matrices
  3. PIL/images Pillow
  4. dates datetime
  5. Entiers
  6. Flotteurs
  7. nombres complexes
  8. Listes
  9. Dictionnaires
  10. Tuples
  11. Cordes

mais vous pouvez décocher la "Exclure les types de données non pris en charge" dans les préférences variables Explorer pour afficher toutes les variables (y compris votre b, bien sûr):

Tools -> Preferences -> Variable explorer -> Exclude unsupported data types (uncheck it).