Je travaillais sur le tri, mais je ne peux pas appeler la fonction de manière spécifique.
Fondamentalement, ce que je veux faire, c'est créer une fonction Pour poursuivre le code Je veux savoir ce qui devrait être le paramètre de ceci. P> advanced_sort([Node(1), Node(2), Node(1),Node(2)])
3 Réponses :
Êtes-vous en mesure de modifier la classe sortie: p> noeud code>? Dans ce cas, vous pouvez faire quelque chose comme ceci:
L'appel de la fonction est spécifique ne peut pas changer le mode d'appel.
ignorant les indications de type, la signature ne peut pas refléter la structure interne de l'argument unique; C'est juste em> un nom pour faire référence à la valeur transmise à l'intérieur du corps de la fonction. p> à l'intérieur du corps, vous pouvez écrire du code qui suppose em> que nœuds code> est une liste et que chaque élément de la liste est un supposer une définition de la définition ci-dessus de Advanced_sort CODE> prend un seul argument: une liste (ou éventuellement une iérienne arbitraire). En tant que tel, la signature n'a qu'un argument: noeud code>, de sorte que vous puissiez faire des choses comme assumer chaque valeur en tant que valeur > attribut. p> noeud code> comme p> Advanced_sort Code> produira la sortie suivante: P> >>> advanced_sort([Node(3), Node(2), Node(1),Node(2)])
Found value 1
Found value 2
Found value 3
Found value 4
Je suis obligé d'appeler la fonction de manière spécifique que j'ai mentionné avancée_sort ([nœud (1), noeud (2), nœud (1), nœud (2)]) ou avancée_sort ([nœud (3), noeud (2) , Noeud (1), noeud (2)])
La fonction doit prendre l'objet de nœud et ses attributs de l'appel
C'est exactement comment vous faire i> appelle la fonction. Les nœuds code> se réfèrent à la valeur de la liste unique que vous fournissez. [noeud (1), nœud (2), nœud (1), nœud (2)] code> est une valeur unique.
Homme, j'ai besoin d'appeler exactement la fonction de cette façon avancée_sort ([nœud (3), nœud (2), nœud (1), nœud (2)]) code>. N'ignorez pas le nœud b> terme dans un appel.
Je suis pas i> Ignorant le noeud code> code> termes. Avez-vous réellement lu ma réponse? La variable x code> dans la boucle de commande se référera à chaque personne nœud code> dans la liste.
Oui, j'ai lu et compris. Mais avez-vous essayé d'appeler votre fonction mon chemin? Comme comment je suis obligé de l'appeler? Quand je le fais de votre façon avec mon appel de fonction, le nœud Nom n'est pas défini B>
Tout ce que j'avais déjà été mentionné sur les questions, de toute façon que vous êtes vraiment une vie pour moi aujourd'hui +1
Votre question n'avait rien à voir avec avancé_sort code>, dont la définition (ou au moins la signature) ne s'appuie pas vraiment sur une définition particulière de noeud code>. C'était fondamentalement: «Comment définir une classe dont les instances ont une valeur code> code>?".
L'argument est un seul objet itérable tel qu'une liste, un tuple, un ensemble, ...
Ensuite, vous iTerez sur les éléments comme dans la réponse de Cheppner. P>
Pour un exemple, vous pouvez utiliser Dictionnaire pour regrouper les nœuds par valeur: p>
Je sais qu'il y a beaucoup de type pour travailler, mais le problème de mon cas est que je suis obligé d'appeler la fonction de cette façon seulement- Advanced_sort ([nœud (3), noeud (2), noeud (1). , Noeud (2)]) code>
Avez-vous essayé: Advanced_sort (liste = [nœud (1), nœud (2), nœud (1), nœud (2)]) Cela instancie les nœuds comme liste dans la fonction.
def Advanced_sort (Liste = Aucune): Code> <- En tant que codeAdvanced_sort (Liste = [Noeud (1), noeud (2), noeud (2), nœud (2)]) code> <- comme un appelJe ne veux pas d'appel spécifique comme la prochaine fois que la fonction peut être appelée quelque chose comme Advanced_sort ([nœud (3), noeud (2), nœud (1), noeud (2)]) alors il y aura un problème
En outre, le nœud n'est pas défini.
Votre signature de fonction doit simplement être
def Advanced_sort (nœuds): code>@quamranais j'ai essayé mais semble que ce n'est pas la voie.
@Ujjwalsinghbaghel Il dépend entièrement de ce que vous faire i> avec
NODES code> dans le corps deAdvanced_sort code>. La signature ne se soucie simplement pas de la structure de chaque argument individuel.Si l'appel est
Advanced_sort ([nœud (1), nœud (2), noeud (1), noeud (2)]) code>, puisavancé_sort code> prend un seul argument, qui est destiné à être une liste (ou éventuellement une valeur ibler arbitraire). Qu'est-ce que dans i> cette liste n'est pas reflété par la signature (ignorer les indications de type).@cheppner, ouais tu as raison mais j'ai toujours le même problème qui est comment dois-je utiliser de l'objet de nœud dans le paramètre de fonction?