J'ai créé la liste ci-dessous:
Store_Rank [0] = 1. Costco Store_Rank[2] = 2. Publix
On me demande de créer une autre liste (Store_Rank) pour définir leur classement en ajoutant des entiers devant. Cependant, les entiers doivent être dans un format de liste.
Je suppose que l'interpolation f doit être utilisée?
La liste "Store_Rank" doit afficher ce qui suit:
XXX
Remarque >>> Le résultat attendu est d'avoir
1. Costco, 2. Publix, 3. Kroger, 4. Target
etc.
S'il vous plaît aider! p >
3 Réponses :
Utilisez le code:
Stores = [Costco, Publix, Kroger, Target] Store_rank = [] for i in range(0, len(Stores)): Store_rank.append(str(i+1) + ". " + Stores[i])
Il est généralement préférable d'utiliser enumerate
plutôt que de parcourir les index. En outre, vous pouvez utiliser des chaînes de format plutôt que la concaténation, bien que les deux méthodes conviennent.
Merci beaucoup Sean! Je suis coincé là-dessus depuis un moment.
Question sur Store_rank = []. Le définissez-vous comme une liste vide? Une raison pourquoi? Merci d'avance
Que si vous réexécutez le bloc de code, par exemple dans les cahiers Jupyter, la liste est à nouveau vidée et tout n'est pas ajouté une autre fois
Code court utilisant enumerate
Store_Rank = [str(idx) + ". " + store for idx, store in enumerate(Stores, start=1)]
Si vous utilisez Python 3.6+, vous pouvez utiliser une compréhension de liste et des chaînes F comme suit:
>>> Stores = ['Costco','Publix', 'Kroger', 'Target'] >>> [f'{i}. {store}' for i, store in enumerate(Stores, start=1)] ['1. Costco', '2. Publix', '3. Kroger', '4. Target']
Vous manquez un tas de guillemets dans votre code?
[Costco, Publix, ...]
est une liste construite à partir de noms de variables, mais voulez-vous dire en fait["Costco", "Publix", ...]
?Bonne prise. J'ajouterai les guillemets
@ Kadodo14, je viens d'ajouter une réponse à votre question, j'espère que cela vous aidera.