Boucle sur les clés et les valeurs d'un dictionnaire dans un template sous Django

Sous Django, pour faire une boucle sur les clés et les valeurs d'un dictionnaire dans un template il faut utiliser la syntaxe suivante: {% for key, values in data.items %}. Supposons que nous ayons le dictionnaire suivant: MyDico = {'dad':'Homer', 'mom':'Marge', 'sister':'Lisa'} Pour afficher les clés et les valeurs du dictionnaire dans le template: {% for key, values in data.items %} {{key}},{{values}} {% endfor %} qui va donner ici: dad, Homer mom, Marge s

Compteur pour une boucle for dans un template avec Django

Avec django il est possible d'avoir un compteur pour une boucle for dans un template en utilisant la syntaxe suivante: [forloop.counter](https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#for), exemple: {% for i in Mylist %} {{forloop.counter}} {% endfor %} qui va afficher: 1 2 3 . . . Il est possible d'avoir un compteur qui commence avec 0 plutôt que 1 (par défaut). Dans ce cas il faut utiliser la symtaxte suivante: {{fo

Comment accéder aux valeurs des colonnes d'une table avec sqlite3 de python ?

Pour accéder aux valeurs des colonnes d'une table avec sqlite3, il faut passer par [fetchall()](https://docs.python.org/2/library/sqlite3.html), comme dans cet exemple: QueryCurs.execute('Select * from Clients WHERE Ville=Fourmies') Values = QueryCurs.fetchall() print Values print type(Values),type(Values[0]) Fetchall retourne alors une liste de "tuples" contenant les valeurs des colonnes de la table. Pour accéder à une valeur particulière il suffit alors de procéder, par exemp

Comment vérifier si un élément existe déjà dans une table sous sqlite3 de python ?

Pour vérifier si un élément existe déjà dans une table sous sqlite3, il existe plusieurs possibilités (voir la très bonne réponse sur stackoverflow: [How to check the existence of a row in SQLite with Python?](http://stackoverflow.com/questions/2440147/how-to-check-the-existence-of-a-row-in-sqlite-with-python)). Le plus simple est d'utiliser la fonction [ fetchall](https://docs.python.org/2/library/sqlite3.html), comme ceci: QueryCurs.execute("Select * from Clients where Ville = 'Fourmies'

Vérifier si un élément est présent ou non dans une liste python

Avec python il est relativement simple de vérifier si un élément est présent ou non dans une liste python avec 'in' et 'not in', comme dans cet exemple: >>> l = ['Coucou','Salut','Bonjour','He'] >>> 'Salut' in l True >>> 'Hello' in l False >>> l = [3,1,7,5] >>> 7 in l True >>> 2 in l False ### Recherches associées Liens | Site ------------- | ------------- [Is there a short contains function for lists in Python?](http://stackoverflow.com/questions/1293

Fusionner une liste de caractères sous python

Sous python pour transformer une liste contenant des caractères en une chaine de caractères il existe la fonction [join](https://docs.python.org/2/library/stdtypes.html), exemple: >>> l = ['s','a','l','u','t'] >>> ''.join(l) 'salut' >>> l = ['Salut','comment','ca','va','?'] >>> ' '.join(l) 'Salut comment ca va ?' >>> ','.join(l) 'Salut,comment,ca,va,?' ### Recherches associées Liens | Site ------------- | ------------- [join fonction](https://docs.python.org/2

Supprimer une liste de caractères donnés d'une chaine de caractères sous python

Avec python il existe plusieurs possibilités pour supprimer certains caractères d'une chaine de caractères. Voici une astuce possible: >>> s = "Bonjour, comment ca va ?. {Bien} c'est-a-dire [0,1]" >>> list_sc = [",",".","-","?","'","[","]","(",")","{","}"] >>> ''.join([i if i not in list_sc else ' ' for i in s ]) 'Bonjour comment ca va Bien c est a dire 0 1 ' ### Recherches associées Liens | Site ------------- | ------------- [Remove specific characters from a strin

Vérifier si un nombre est égale à 'NAN' ou 'INF' sous python

Pour vérifier si un nombre est égale à 'NAN' ou 'INF' sous python le plus simple est de passe par numpy avec la méthode [isfinite](http://docs.scipy.org/doc/numpy/reference/generated/numpy.isfinite.html). Exemple d'utilisation: >>> import numpy as np >>> x = np.nan >>> y = np.inf >>> x nan >>> y inf >>> np.isfinite(x) False >>> np.isfinite(y) False Remarque: avec le module math il existe aussi la méthode [isnan](https://docs.python.org/2/library/math

Comment vérifier si une liste est vide en python ?

Avec python l'approche la plus rapide pour vérifier si une liste a est vide ou non est d'utiliser la condition logique not a qui va retourner True si la liste est vide ou False si la liste n'est pas vide: >>> a = [] >>> not a False Exemple d'utilisation: >>> a = [] >>> not a True >>> if not a: ... print 'La liste a est vide' ... La liste a est vide >>> a = [4,2,7] >>> not a False >>> if not a: ... print 'La liste a est vide

Créer une base de données et une table avec sqlite3 de python

Exemple simple de comment créer une base de données et une table avec sqlite3 de python (inspiré par [Python 2.7 Tutorial Pt 12 SQLite](http://www.youtube.com/watch?v=Ll_ufNL5rDA)). Pour plus de details voir les tutoriels sur sqlite3 ([SQLite Python Tutorial](http://www.tutorialspoint.com/sqlite/sqlite_python.htm) et [SQLite Python tutorial](http://zetcode.com/db/sqlitepythontutorial/)): import sqlite3 CreateDataBase = sqlite3.connect('MyDataBase.db') QueryCurs = CreateDataBase.cursor()

Diviser un dictionnaire python en deux ou plusieurs dictionnaires

Pour diviser un dictionnaire en deux ou plusieurs dictionnaires avec python, voici une solution possible: en transformant le dictionnaire en liste avec items() puis en divisant ("split") la liste et finalement en transformant la liste divisée en dictionnaire: >>> dico = {'Bob':'21','Ben':'18','Bill':'47','Peter':'12'} >>> dico1 = dict(dico.items()[len(dico)/2:]) >>> dico2 = dict(dico.items()[:len(dico)/2]) >>> dico1 {'Peter': '12', 'Ben': '18'} >>> dico2 {'Bob': '21

Créer un dictionnaire ordonnée avec python

Avec python les dictionnaires ne sont pas ordonnés et quand vous voulez afficher ces derniers, vous ne contrôlez pas l'ordre d'affichage: >>> dico = {'Bob':'21','Ben':'18','Bill':'47','Peter':'12'} >>> for key, values in dico.iteritems(): ... print key,values ... Bob 21 Bill 47 Ben 18 Peter 12 Si vous voulez ordonner votre dictionnaire voici une petite astuce en passant par [OrderedDict](https://docs.python.org/3/library/collections.html#collections.Ordered

Comment supprimer d'une liste python les strings contenant uniquement des espaces

Pour supprimer rapidement les éléments d'une liste python contenant des strings avec uniquement des espaces il suffit par exemple d'utiliser "isspace" comme dans cet exemple: >>> l = ['Bob',' ','Ben','Bill',' ','Peter'] >>> l[0].isspace() False >>> l[1].isspace() True >>> l = [i for i in l if not i.isspace()] >>> l ['Bob', 'Ben', 'Bill', 'Peter'] >>> ### Recherches associées Liens | Site ------------- | ------------- [Remove empty string from list

Création et gestion de QCMs sur la géographie

- Les capitales du monde #QCM (source)

La géographie

Vérifier si une liste de string contient un string avec python

> Pour vérifier si une liste de string contient un string donnée avec python il est possible de faire comme ceci (voir [any](https://docs.python.org/2/library/functions.html#any) et [Check if a Python list item contains a string inside another string](http://stackoverflow.com/questions/4843158/check-if-a-python-list-item-contains-a-string-inside-another-string) pour plus de details): >>> L = ['Bonjour','Salut','Salut, comment ca va ?'] >>> any("comment" in s for s in L) True >>>

Obtenir l'indice d'un élément d'une liste avec python

Pour trouver l'indice d'un élément donné d'une liste avec python il existe la méthode [index](https://docs.python.org/2/tutorial/datastructures.html). Exemple d'utilisation: >>> l = ['Homer','Bart','Marge'] >>> l.index('Marge') 2 >>> l.index('Bart') 1 Remarque: si l'élément est présent plusieurs fois dans la liste, la méthode index ne retourne que l'indice le plus petit: >>> l = ['Homer','Bart','Marge','Homer'] >>> l.index('Homer') 0 si l'élément n'est pas pr

Trier une liste de nombres par ordre croissant ou décroissant avec python

Pour trier une liste de nombres par ordre croissant ou décroissant avec python, il existe les fonctions [sort()](https://docs.python.org/3.4/library/stdtypes.html#list.sort) et [sorted()](https://docs.python.org/3.4/library/functions.html#sorted): ### (1) Avec la fonction sort() La fonction [sort()](https://docs.python.org/3.4/library/stdtypes.html#list.sort) modifie la liste de départ, exemple pour obtenir les nombres dans l'ordre croissant: >>> import random >>> l = [i for i

Créer un gif animé à partir d'images en utilisant python

Pour créer un gif animé à partir d'un ensemble d'images, le plus simple est d'utiliser [imagemagick](http://www.imagemagick.org). Imagemagick est certainement déjà installé par défaut sur votre système sinon l'installation ne prend que quelques secondes. Par exemple, supposons que nous avons 5 images au format png (1.png, 2.png, 3.png, 4.png et 5.png), pour transformer ces images en une image animée au format gif il suffit alors de taper la commande suivante: convert *png animation.gif q

Ranger (trier) les clés d'un dictionnaire par ordre alphabétique avec le langage python

Par défaut les dictionnaires sous python ne sont pas ordonnés. Cependant il est possible de ranger les clés d'un dictionnaire par ordre alphabétique en utilisant [OrderedDict](https://docs.python.org/2/library/collections.html#collections.OrderedDict), exemple: >>> import collections >>> d = {'d':1,'b':2,'v':3,'a':4,'c':5} >>> d = collections.OrderedDict(sorted(d.items(), key=lambda t: t[0])) >>> d OrderedDict([('a', 4), ('b', 2), ('c', 5), ('d', 1), ('v', 3)]) >>> ##

Mélanger aléatoirement les éléments d'un dictionnaire sous python

Par défaut avec python les dictionnaires ne sont pas ordonnés. Cependant, il est intéressant de savoir comment mélanger aléatoirement les clés/valeurs d'un dictionnaire (pour pouvoir par exemple afficher les clés/valeurs du dictionnaire dans un ordre aléatoire). Exemple: >>> import random >>> import collections >>> d = {'a':1,'b':2,'c':3,'d':4} >>> d {'a': 1, 'c': 3, 'b': 2, 'd': 4} >>> items = d.items() >>> type(d) <type 'dict'> >>> type(items) <type 'l

Générer des nombres aléatoires suivant une distribution gaussienne avec python

Avec python il existe plusieurs possibilités pour générer des nombres aléatoires suivant une distribution gaussienne. Par exemple en utilisant gauss du module [random](https://docs.python.org/2/library/random.html), comme ceci: >>> from random import gauss >>> gauss(100,15) 82.13399330852374 il est alors possible de créer une liste de nombres aléatoires suivant une distribution gaussienne comme ceci: x = [gauss(100,15) for i in range(10000)] et de tracer celle-ci avec [matpl

Déterminer le nombre de lignes dans un fichier avec le fortran

Supposons que l'on dispose d'un fichier "data.txt" et que le nombre de lignes de celui-ci est inconnu. Voici alors un simple programme en fortran pour déterminer le nombre de lignes dans le fichier: program NumberOfLinesFile implicit none integer :: Nb_line integer :: ierr ! successful (if == 0) ou failed (si /= 0) open(1,file='data.txt', form="formatted", iostat=ierr,status="old") Nb_line = 0 do while (ierr==0) read(1,*,iostat=ierr) if (ierr==0) Nb_line = Nb_line + 1 end

Convertir degré en radian et inversement en fortran

Exemple de comment convertir des degrés en radian et inversement en fortran en se basant sur un simple produit en croix: rad: 0 -> pi deg: 0 -> 180 qui donne rad = ( pi * deg ) / 180 deg = ( 180 * rad ) / pi code fortran 90 correspondant: program DegToRad implicit none integer, parameter :: pr = selected_real_kind(15,3) real(pr) :: pi = dacos(-1.0d0) real(pr) :: deg, rad ! Exemple convert Degree to Radian: deg = 60.0 rad = ( pi * deg ) / 180.0 w

Machine à vecteurs de support SVM 1D avec python et scikit

Exemple de comment appliquer une SVM pour des données à 1 dimension. Considérons le cas suivant: on dispose d'un échantillon de données [attachment:469] avec la première colonne la valeur et la deuxième colonne la classe (deux classes ici: 1 et 2) et on souhaite appliquer une SVM pour déterminer le seuil optimal pour séparer ces deux classes. [image:468 size:100 caption:Machine à vecteurs de support SVM 1D avec python et scikit] from sklearn import svm from scipy import c_ import matpl