Je suis un peu confus au sujet de l'opérateur python dans les ensembles. Si j'ai un ensemble en python s et une instance b, est-il vrai que "b in s" signifie "Y at-il un élément x dans s tel que b == x est vrai"?L'opérateur set "in" de Python
Répondre
Oui, mais aussi signifie hash(b) == hash(x)
, donc l'égalité des éléments n'est pas suffisante pour les rendre identiques.
Oui. Cela signifie que l'élément donné est dans l'ensemble.
Juste pour être clair cependant. par "est dans l'ensemble" vous voulez dire "a == b" et non "a est b", correct? – Dejas
C'est vrai. Vous pouvez l'essayer dans l'interprète comme ceci:
>>> a_set = set(['a', 'b', 'c'])
>>> 'a' in a_set
True
>>>'d' in a_set
False
Fyi, 'sets' est obsolète. 'set()' est un builtin depuis un certain temps maintenant. – ThiefMaster
Oh, bien sûr. Désolé :) Je change mon échantillon ... –
Ce n'est pas un très bon test puisque les constantes de chaîne sont souvent internées (essayez 'a = 'a'; b = 'a'; a est b'). Je l'ai essayé avec 'a = (1, 2, 3); b = (1, 2, 3); a == b; hash (a) == hash (b); a est b; un ensemble in ([b]) 'à la place. – Philipp
Strings, mais ils ne sont pas set
types, ont une propriété in
précieuse lors de la validation dans les scripts:
yn = input("Are you sure you want to do this? ")
if yn in "yes":
#accepts 'y' OR 'e' OR 's' OR 'ye' OR 'es' OR 'yes'
return True
return False
J'espère que cela vous aide à mieux comprendre l'utilisation de in
avec cet exemple.
Ce n'est pas un ensemble. Les chaînes ne sont pas mutables non plus. –
Je ne sais pas ce que je pensais ... tu as raison. – Droogans
'... ou 'e' ou 'es' ou 's''. Envisagez simplement de supprimer cette réponse erronée. – Quuxplusone
Oui, cela peut vouloir dire, ou cela peut être un simple itérateur. Par exemple: Exemple comme iterator:
a=set(['1','2','3'])
for x in a:
print ('This set contains the value ' + x)
De même un chèque:
a=set('ILovePython')
if 'I' in a:
print ('There is an "I" in here')
sous la direction: edited d'inclure des ensembles plutôt que des listes et des chaînes
Qu'est-ce que cela a à voir avec les ensembles? –
bien je suppose qu'une liste ou même une chaîne peut être considérée comme ayant des propriétés similaires à un ensemble. Ils sont une collection d'éléments. –
Non, les ensembles ont une condition supplémentaire pour un contrôle de confinement que les séquences ne vérifient pas. –
- 1. set path in aquamacs
- 2. set proxy in java
- 3. Julia Set In Javascript
- 4. Set et Get in C#
- 5. Set In enum pour C#
- 6. Duplicate Value in Java Set
- 7. Filtrer les éléments de Set in Java
- 8. Python - Set zlim dans mplot3D
- 9. python dict set min_size
- 10. set() runtime en python
- 11. Constructeur Python set()
- 12. Set partitions en Python
- 13. Optparse Python Set Boolean
- 14. python AppEngine problème Set-Cookie
- 15. Python propriété de classe statique set/get
- 16. Set Numéro de version de TFS Build in C# Fichier
- 17. Mongodb avec le type "set()" de Python
- 18. Nombre d'éléments dans Python Set
- 19. supprimer tous les articles de set tried in grails
- 20. méthodes set prépondérants en Python
- 21. Set/référence à une variable de plug-in de l'extérieur du plug-in
- 22. Remplacer l'opérateur 'in' de Python?
- 23. SyntaxError inconsistency in Python?
- 24. struct in python
- 25. IntelliJ Python plug-in
- 26. Python Not In
- 27. Array visibility in python
- 28. liste Python de la multiplication set
- 29. Comment imprimer min de set en python?
- 30. Python Loop In HTML
: êtes-vous un mathématicien? Décrire des choses simples d'une manière trop complexe.;) – ThiefMaster
Computer Scientist. Je suis juste un peu confus parce que la documentation dit "Test x pour l'adhésion à s." Pour moi, cela pourrait signifier "l'instance x est contenue dans s" ou "une instance existe dans s qui a la même valeur que x". Je ne sais pas s'il s'agit d'une comparaison d'identité ou d'égalité. – Dejas
@Dejas: Puisque vous êtes conscient que Python a deux opérateurs de comparaison d'égalité et de comparaison d'identité, vous devriez être capable de construire une expérience qui confirme chacun. Cela aiderait si vous postiez cette expérience. –