J'aime la syntaxe de compréhension de la liste Python. Peut-il également être utilisé pour créer des dictionnaires? Par exemple, en itérant sur des paires de clés et de valeurs: mydict = {(k,v) for (k,v) in blah blah blah} # doesn't
Une construction syntaxique qui fournit un moyen concis de créer des listes dans un style similaire à la notation mathématique du générateur d'ensemble. Étant donné que plusieurs langages prennent en charge la compréhension de liste, veuillez utiliser cette balise en conjonction avec la balise d'un langage de programmation.
J'aime la syntaxe de compréhension de la liste Python. Peut-il également être utilisé pour créer des dictionnaires? Par exemple, en itérant sur des paires de clés et de valeurs: mydict = {(k,v) for (k,v) in blah blah blah} # doesn't
Comment puis-je faire ce qui suit en Python? row = [unicode(x.strip()) for x in row if x is not None else ''] Essentiellement: remplacer tous les Nones par des chaînes vides, puis exécuter une fonction.
Y a-t-il une raison de préférer utiliser map()la compréhension de liste ou vice versa? L'un ou l'autre est-il généralement plus efficace ou est-il généralement considéré comme plus pythonique que
Je veux créer une série de listes, toutes de longueurs variables. Chaque liste contiendra le même élément e, répété nfois (où n= longueur de la liste). Comment créer les listes, sans utiliser une compréhension de liste [e for number in xrange(n)]pour chaque
Quand devez-vous utiliser des expressions de générateur et quand devez-vous utiliser des compréhensions de liste en Python? # Generator expression (x*2 for x in range(256)) # List comprehension [x*2 for x in
Est-il possible de créer une compréhension de dictionnaire en Python (pour les clés)? Sans compréhension de liste, vous pouvez utiliser quelque chose comme ceci: l = [] for n in range(1, 11): l.append(n) Nous pouvons raccourcir ce à une compréhension de la liste: l = [n for n in range(1, 11)]....
Comme nous le savons tous, il y a la compréhension de la liste, comme [i for i in [1, 2, 3, 4]] et il y a la compréhension du dictionnaire, comme {i:j for i, j in {1: 'a', 2: 'b'}.items()} mais (i for i in (1, 2, 3)) se retrouvera dans un générateur, pas une tuplecompréhension. Pourquoi donc? Je...
J'ai une liste de longueur variable et j'essaie de trouver un moyen de tester si l'élément de liste en cours d'évaluation est la plus longue chaîne contenue dans la liste. Et j'utilise Python 2.6.1 Par exemple: mylist = ['abc','abcdef','abcd'] for each in mylist: if condition1: do_something() elif...
En Python, vous pouvez avoir plusieurs itérateurs dans une liste de compréhension, comme [(x,y) for x in a for y in b] pour certaines séquences appropriées a et b. Je connais la sémantique des boucles imbriquées des compréhensions de liste de Python. Ma question est: un itérateur dans la...
J'ai cette liste imbriquée: l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']] Maintenant, ce que je veux faire, c'est convertir chaque...
Avoir un iteratorobjet, y a-t-il quelque chose de plus rapide, meilleur ou plus correct qu'une compréhension de liste pour obtenir une liste des objets retournés par l'itérateur? user_list = [user for user in user_iterator]
Il s'agit davantage de la syntaxe de compréhension de liste python. J'ai une compréhension de liste qui produit une liste de nombres impairs d'une plage donnée: [x for x in range(1, 10) if x % 2] Cela fait un filtre - j'ai une liste source, où je supprime les nombres pairs ( if x % 2). J'aimerais...
Comment accéder à d'autres variables de classe à partir d'une compréhension de liste dans la définition de classe? Ce qui suit fonctionne dans Python 2 mais échoue dans Python 3: class Foo: x = 5 y = [x for i in range(1)] Python 3.2 donne l'erreur: NameError: global name 'x' is not defined Essayer...
En termes de performances en Python, est-ce qu'une liste-compréhension, ou des fonctions similaires map(), est- filter()elle reduce()plus rapide qu'une boucle for? Pourquoi, techniquement, ils fonctionnent à une vitesse C , alors que la boucle for s'exécute à la vitesse de la machine virtuelle...
J'essaye de créer un dictionnaire à partir d'un fichier csv. La première colonne du fichier csv contient des clés uniques et la deuxième colonne contient des valeurs. Chaque ligne du fichier csv représente une paire clé / valeur unique dans le dictionnaire. J'ai essayé d'utiliser les classes...
Supposons que j'ai une liste comme celle-ci: mylist = ["a","b","c","d"] Pour obtenir les valeurs imprimées avec leur index, je peux utiliser la enumeratefonction de Python comme ceci >>> for i,j in enumerate(mylist): ... print i,j ... 0 a 1 b 2 c 3 d >>> Maintenant, quand j'essaye...
J'ai une compréhension de liste en Python dans laquelle chaque itération peut lever une exception. Par exemple , si j'ai: eggs = (1,3,0,3,2) [1/egg for egg in eggs] J'obtiendrai une ZeroDivisionErrorexception dans le 3ème élément. Comment puis-je gérer cette exception et continuer l'exécution de la...
Les compréhensions ont des interactions inattendues avec la portée. Est-ce le comportement attendu? J'ai une méthode: def leave_room(self, uid): u = self.user_by_id(uid) r = self.rooms[u.rid] other_uids = [ouid for ouid in r.users_by_id.keys() if ouid != u.uid] other_us = [self.user_by_id(uid) for...
Je voudrais savoir s'il existe une meilleure façon d'imprimer tous les objets dans une liste Python que celle-ci: myList = [Person("Foo"), Person("Bar")] print("\n".join(map(str, myList))) Foo Bar Je lis de cette façon n'est pas vraiment bon: myList = [Person("Foo"), Person("Bar")] for p in myList:...
Pensez à une fonction que j'appelle pour ses effets secondaires, pas pour ses valeurs de retour (comme l'impression à l'écran, la mise à jour de l'interface graphique, l'impression dans un fichier, etc.). def fun_with_side_effects(x): ...side effects... return y Maintenant, est-ce Pythonic...