Maison >développement back-end >Tutoriel Python >Comment puis-je éviter les références partagées lors de l'utilisation de la méthode « fromkeys » de Python ?

Comment puis-je éviter les références partagées lors de l'utilisation de la méthode « fromkeys » de Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 20:25:18853parcourir

How Can I Avoid Shared References When Using Python's `fromkeys` Method?

Comprendre la méthode fromkeys et ses limites

Lors de l'initialisation d'un dictionnaire à l'aide de la méthode fromkeys, il est important d'être conscient de son comportement avec arguments à un seul élément. En passant une liste comme deuxième argument, toutes les valeurs du dictionnaire feront référence au même objet de liste.

Éviter le partage involontaire : approches alternatives

Pour éviter le partage involontaire de valeurs, envisagez d'utiliser des méthodes alternatives :

  • Dict Comprehension (Python 2.7 ):

    data = {k: [] for k in range(2)}
  • Compréhension de liste avec le constructeur Dict :

    data = dict([(k, []) for k in range(2)])
  • Générateur d'expression avec Dict (Python 2.4-2.6) :

    data = dict((k, []) for k in range(2))

Exemple simple : ajout d'une valeur à une clé spécifique

Le code suivant illustre le comportement attendu :

data = {0: [], 1: []}
data[1].append('hello')
print(data)
# Output: {0: [], 1: ['hello']}

En utilisant l'une des méthodes proposées, vous pouvez initialiser un dictionnaire de listes vides et modifier valeurs clés individuelles sans affecter les autres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn