One liner: création d'un dictionnaire à partir d'une liste avec des indices comme clés
Je veux créer un dictionnaire d'une liste donnée, en une seule ligne. Les clés du dictionnaire des indices, et les valeurs sont les éléments de la liste. Quelque chose comme ceci:
a = [51,27,13,56] #given list
d = one-line-statement #one line statement to create dictionary
print(d)
Sortie:
{0:51, 1:27, 2:13, 3:56}
Je n'ai aucune exigence spécifique quant à la raison pour laquelle je veux Une Ligne. Je suis juste en train d'explorer python, et je me demande si c'est possible.
5 réponses
a = [51,27,13,56]
b = dict(enumerate(a))
print(b)
Produira
{0: 51, 1: 27, 2: 13, 3: 56}
Renvoie un objet énumérer. sequence doit être une séquence, un itérateur ou un autre objet prenant en charge l'itération. La méthode
next()
de l'itérateur renvoyée parenumerate()
renvoie untuple
contenant un count (à partir de start {[15] } qui vaut par défaut 0) et les valeurs obtenues à partir de l'itération sur la séquence :
Avec un autre constructeur, vous avez
a = [51,27,13,56] #given list
d={i:x for i,x in enumerate(a)}
print(d)
Try enumerate
: il renverra une liste (ou un itérateur) de tuples (i, a[i])
, à partir de laquelle vous pouvez construire un dict
:
a = [51,27,13,56]
b = dict(enumerate(a))
print b
Utilisez simplement la compréhension de liste.
a = [51,27,13,56]
b = dict( [ ((i,a[i]) for i in range(len(a)) ] )
print b