Je souhaite créer un dictionnaire en utilisant une boucle ou une technique similaire. Quelque chose comme l'attribution de variable ci-dessous est possible.
{'Item-1': 1, 'Item-2':3, 'Item-3':3 ....}
Bien que la question à laquelle je suis bloqué- Comment puis-je générer des noms similaires pour les clés d'élément? Donnant un exemple ci-dessous:
my_dict = {v:int(v*random()) for v in range(10)}
Merci d'avance!
3 Réponses :
Créez des clés et des valeurs et ajoutez-les à my_dict
dans une boucle
my_dict = {} for v in range(10): my_dict[f'Item-{v}'] = v print(my_dict) {'Item-0': 0, 'Item-1': 1, 'Item-2': 2, 'Item-3': 3, 'Item-4': 4, 'Item-5': 5, 'Item-6': 6, 'Item-7': 7, 'Item-8': 8, 'Item-9': 9}
Pourquoi devrais-je assigner 'v = np.arrange (0,10,1)' pour? Je ne peux pas simplement affecter 'my_dict [clé] = v'? Et la solution ci-dessus est longue pour moi, c'est pourquoi j'ai demandé une manière plus rapide. Toujours merci pour la réponse.
Vous pouvez également utiliser la compréhension de liste dans les dictionnaires.
from random import randint dic = {f"item-{i}": randint(0, 10) for i in range(1, 11)} print(dic)
Ce n'est pas une compréhension de liste. Ceci est juste une compréhension dict. Ce que vous faites, c'est d'utiliser une f-string comme clé, plutôt que simplement la variable i
.
c'est ce qu'il demande n'est-ce pas?
from random import random my_dict = {f'item-{v+1}': int(v*random()) for v in range(10)} print(my_dict) Output:{'item-1': 0, 'item-2': 0, 'item-3': 1, 'item-4': 1, 'item-5': 0, 'item-6': 3, 'item-7': 2, 'item-8': 4, 'item-9': 6, 'item-10': 2}This uses an f-string to create the key, the corresponding value is randomly generated like in your question.
Merci beaucoup. Exactement ce que je cherchais.
La clé peut être une expression arbitraire, tout comme la valeur. Vous n'êtes pas obligé d'utiliser uniquement
v
pour la clé dans la compréhension de dictée,