est-il possible dans Python d'ajouter un tuple comme une valeur dans un dictionnaire?
Et si c'est le cas, comment pouvons-nous ajouter une nouvelle valeur, alors? Et comment pouvons-nous supprimer et le changer? P>
4 Réponses :
>>> b = {(23, 32): 'tuple as key'} >>> b {(23, 32): 'tuple as key'} >>> b[23, 32] = 42 >>> b {(23, 32): 42}
Vous ne pouvez pas changer de tuple lui-même. Vous devez le remplacer par un autre tuple différent.
Lorsque vous utilisez une liste, vous pouvez également ajouter des valeurs à celui-ci (changer la liste elle-même) sans avoir besoin de le remplacer: P>
>> a = {'list': (23, 32)} >> a {'list': [23, 32]} >> a['list'].append(99) >> a {'list': [23, 32, 99]}
Vous semblez manquer certaines parties
@SilentGhost: Ne soyez pas timide, dites-le-moi! BTW: Je n'ai pas eu l'intention de donner une réponse complète, puisque vous avez déjà donné de bons conseils. Je voulais seulement ajouter des informations sur les listes.
Puisque les tuples sont immuables em>, vous ne pouvez pas ajouter de valeur au tuple. Ce que vous peut em> faire, construit un nouveau tuple à partir du tuple actuel et une valeur supplémentaire. L'opérateur Peu importe, si vous prévoyez de planifier Modification de la valeur TUPLE, peut-être qu'il vaut mieux stocker des listes? Ceux-ci sont mutables. P> EDIT: STRUT> Depuis que vous Mise à jour Votre question † sup>, observez les éléments suivants: p> Cela se produit car, comme indiqué précédemment, les tuples sont immuables. Vous ne pouvez pas les changer. Si vous voulez les changer, vous devrez en créer un nouveau. Ainsi: p> comme une note latérale em>, vous pouvez utiliser † < / sup>: la prochaine fois, veuillez éditer votre question actuelle. ne pas strong> poster une réponse contenant uniquement des questions supplémentaires. Ce n'est pas un forum. P> p> + = code> cela est-ce pour vous, à condition que l'argument de gauche soit une variable (ou dans ce cas une valeur de dictionnaire):
NamedTuple code>
s. Ils travaillent comme des tuples réguliers, mais vous permettent de vous référer à des éléments dans le tuple par nom em>: p>
persons = {} person = Person() persons[person.id] = person person.name = "something" persons[1].name = "something else"
Merci beaucoup! Mais tu sais ... je suis un débutant en python..et je n'ai pas vraiment "obtenez" votre réponse! Je préfère, dans mes premières marches de Python pour le faire de manière facile; (Je me sens stupide ... mais .... :(
Je pensais que ça. Ceci est tout ce que vous pouvez taper sur la ligne de commande Python, pour que vous puissiez jouer avec. La classe de la personne vous montre une solution alternative, plus structurée, de résoudre ce genre de problèmes.
Ajoutez une nouvelle valeur à un dictionnaire? Ajoutez une nouvelle valeur au tuple dans le dictionnaire? Lequel est-ce?