Je veux créer un dictionnaire à partir d'une liste donnée, en une seule ligne. Les clés du dictionnaire seront des index et les valeurs seront les éléments de la liste. Quelque chose comme ça:
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 pas d'exigences spécifiques quant à la raison pour laquelle je veux n ligne. Je suis juste en train d'explorer python et je me demande si c'est possible.
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 compte (de start, la valeur par défaut étant 0) et les valeurs obtenues en itérant sur 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)
Essayez enumerate
: il retournera une liste (ou itérateur) de tuples (i, a[i])
, à partir duquel vous pouvez construire un dict
:
a = [51,27,13,56]
b = dict(enumerate(a))
print b
{x:a[x] for x in range(len(a))}
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