Je suis nouveau à Python, donc je ne sais pas si cela est possible, mais ma supposition est oui. Je veux itérer sur une liste et mettre des articles dans de nouvelles listes en fonction de leur valeur. Par exemple, si item_x == 4 code>, je voudrais le mettre dans une liste appelée
list_for_4 code>. Il en va de même pour tous les autres éléments de ma liste et de ma liste 0 à 10. Il est donc possible de généraliser une déclaration de telle sorte que si
item_x == * une certaine valeur * code>, il sera Ajouté à
List_for_ * Une certaine valeur * code>?
Merci! P>
4 Réponses :
Peut-être utiliser la compréhension de la liste avec si la déclaration à l'intérieur?
Comme: p> et combinez-le avec un dict. p> p>
au lieu d'essayer de générer une variables dynamiques. Une carte utilisant une structure de dictionnaire pourrait vous aider.
Par exemple: P>
from collections import Counter item_list = [1, 2, 3, 9, 2, 2, 3, 4, 4] result = Counter(item_list) print(result)
avec une simple itération à travers la liste: ou, si vous voulez une condition plus compliquée que la valeur de x, définissez une fonction: p> list(map(lambda x: f(x).append(x),lst))
Je ne sais pas pourquoi vous voulez le faire. Mais vous pouvez le faire.
data = [1, 2, 3, 4, 1, 2, 3, 5] for item in data: name = f'list_for_{item}' if name in globals(): globals()[name].append(item) else: globals()[name] = [item]
Pourquoi voudriez-vous faire cela au lieu de, dites, utilisez un
dict code>?
On dirait que vous essayez de Créez un nombre variable de variables ...