2014-05-24 2 views
-3

Comment modifier le constructeur Set() pour accepter un argument de variable optionnel auquel une collection de valeurs initiales peut être passée pour initialiser l'ensemble? Le prototype du nouveau constructeur devrait se présenter comme suit:Constructeur Python set()

def Set(self, *initElements = None) 

Il peut alors être utilisé comme indiqué ici pour créer un ensemble initialisé avec les valeurs données:

s = Set(150, 75, 23, 86, 49) 
+3

Qu'est-ce qui ne va pas avec 'set ([150, 75, 23, 86, 49])'? – thefourtheye

+0

Voulez-vous vraiment le * modifier *, ou voulez-vous en faire un nouveau? Si c'est le premier, bonne chance. Si c'est la seconde, écrivez-le vous-même. – Veedrac

+0

Merci, il suffit de modifier. – Poseydon

Répondre

1

Il fait déjà, il vous suffit plus de parenthèses.

set([150, 75, 23, 86, 49]) 
4

Vous pouvez utiliser une liste de numéros pour initialiser un jeu, comme celui-ci

set([150, 75, 23, 86, 49]) 

Ou vous pouvez utiliser la notation littérale définie, comme celui-ci

{150, 75, 23, 86, 49} 

L'avantage du set constructeur, c'est que nous pouvons utiliser n'importe quel itérateur qui contient des éléments hashbles.