Mélanger aléatoirement les éléments d'une liste sous python

#### Mélanger aléatoirement une liste sous python Avec python on peut facilement mélanger aléatoirement les éléments d'une liste en utilisant [shuffle](https://docs.python.org/2/library/random.html). Exemple: >>> import random >>> L = ['a','b','c','d','e','f'] >>> random.shuffle(L) >>> L ['b', 'c', 'a', 'd', 'f', 'e'] >>> #### Mélanger aléatoirement avec un paramètre pour obtenir toujours le même résultat: Il est aussi possible de mélanger aléatoirement avec un para

Lire et enregistrer dans une matrice les données provenant d'un fichier en fortran

Exemple de comment lire et enregistrer dans une matrice les données d'un fichier en fortran (fichier utilisé dans cette exemple: [attachment:467]): program DataFileToArray implicit none integer :: i,j integer, parameter :: pr = selected_real_kind(15,3) real(pr), dimension(512,512) :: M open(1,file='data.txt') do i = 1, 512 read(1,*) (M(i,j),j=1,512) end do close(1) end program DataFileToArray ### Recherches associées Liens | Site ------------- | ---------

Lire un fichier de données avec python

Pour lire un fichier de données avec python, la solution adéquate est d'utiliser la fonction numpy [loadtxt](http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html). En effet, les données sont souvent stockées dans des tableaux réguliers et peuvent donc être vu comme des matrices. Considérons le fichier de données suivant ([attachment:466]): 1 21 100 2 22 101 3 23 102 4 24 103 5 25 104 6 26 105 7 27 106 8 28 107 9 29 108 10 30 109 Pour lire ce fichier voici la démarch

Supprimer un fichier ou un répertoire avec python

En passant par python on peut supprimer un fichier ou un répertoire a l'aide des commandes suivantes ([source](http://stackoverflow.com/questions/185936/delete-folder-contents-in-python)): os.remove() pour supprimer un fichier os.rmdir() pour supprimer un répertoire vide shutil.rmtree() pour supprimer tout le contenu d'un répertoire Considérons l'exemple présenté dans: [Obtenir une liste des sous-répertoires en python](http://www.science-emergence.com/Python/PythonFAQ/Subdirect

Comment itérer avec une boucle for sur deux ou plusieurs listes en même temps avec python ?

Pour pouvoir itérer avec une boucle for sur deux ou plusieurs liste en même temps avec python, on peut utiliser la fonction [zip](https://docs.python.org/2/library/functions.html#zip), exemple: [TOC] ### Itérer sur deux listes de même taille Un exemple simple: >>> l1 = ['a','b','c'] >>> l2 = [1,2,3] >>> for x,y in zip(l1,l2): ... print(x,y) ... a 1 b 2 c 3 ### Itérer sur trois listes de même taille Autre exemple avec trois listes: >>> l1 = ['a','b','c']

Comment supprimer une élément d'une liste avec python ?

Exemples de comment supprimer un ou des éléments d'une liste avec python: [TOC] ### Supprimer un élément d'une liste avec del() Pour supprimer un élément d'une liste en fonction de l'indice (position) on peut utiliser la fonction [del](https://docs.python.org/release/1.5.1p1/tut/del.html): >>> L1 = ['a','b','c','d','e','f'] >>> del L1[3] >>> L1 ['a', 'b', 'c', 'e', 'f'] Supprimer le dernier élément de la liste: >>> del L1[-1] >>> L1 ['a', 'b

Sauvegarder les données d'une image dans un fichier texte avec python, numpy et PIL

Dans cet article on va voir comment transformer une image en fichier texte avec python. L'objectif ici étant, tout d'abord, d'obtenir une matrice de données à partir d'une image et de sauvegarder cette matrice dans un simple fichier texte (fichier qui pourra servir ultérieurement par un programme en fortran ou en C pour travailler directement sur les données brutes de l'image). Considérons un exemple simple: une image en niveau de gris (lena_grayscale.png); pour obtenir une matrice de données à

Tracer une surface en 3d avec Matplotlib

Exemple de comment tracer une surface en 3d avec Matplotlib: [image:463 size:100 caption:Tracer une surface en 3d avec Matplotlib] from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter import matplotlib.pyplot as plt import numpy as np import math f = 0.1 theta = math.radians(0.0) # Converts angle x from degrees to radians. sigma_x = 7.0 sigma_y = 7.0 radius = 20 M = np.zeros((radius*2,radius*2))

Comment tracer un filtre de Gabor en python avec Matplotlib ?

Exemple de comment tracer un filtre de Gabor avec Matplotlib et python: [TOC] ### Filtre de Gabor en 2D avec matplotlib [images:460;461 dim:1*2 size:100 caption:Tracer un filtre de Gabor avec Matplotlib (niveau de gris) gauche; (couleur et normalise entre 0 et 255) droite ] import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm import math f = 0.1 theta = math.radians(0.0) # Converts angle x from degrees to radians. sigma_x = 7.0 sigma_y = 7

Obtenir une matrice RGB à partir d'une image avec python

Avec python il est relativement direct d'obtenir une matrice RGB à partir d'une image en passant par imread du module misc de scipy (voir [Image manipulation and processing using Numpy and Scipy](http://scipy-lectures.github.io/advanced/image_processing/) et [python - RGB matrix of an image](http://stackoverflow.com/questions/25102461/python-rgb-matrix-of-an-image)). Exemple avec l'image lena.png: >>> from scipy import misc >>> M = misc.imread('lena.png') >>> type(M) <type 'nump

Importer son module personnel sous python ?

Dans cet article on va voir comment importer son ou ses module(s) avec Python. Pour rappel, les [modules](https://docs.python.org/2/tutorial/modules.html) sont importants pour pouvoir ensuite construire des "packages" et aussi pour éviter de se répéter (DRY principle). ### Script et module(s) sous le même répertoire Pour ce premier exemple on suppose que le programme principal "MyScript.py" et le module MyModule.py sont sous le même répertoire. Voici alors comment importer le module dans le pr

Comment lire un fichier audio avec le HTML ?

Avec le langage HTML5, il est possible de lire des fichiers audio dans votre page HTML, en passant par la balise HTML5 intitulée: "audio" (voir le site [w3schools](http://www.w3schools.com/html/html_sounds.asp) pour plus de détails). Pour que le lecteur audio marche dans la majorité des navigateurs internet (i.e. firefox, chrome, safari, ...) le fichier audio doit être enregistré sous le format mp3. Exemple: [image:455 size:100 caption:Lecteur audio avec HTML5.] <!DOCTYPE html> <html> <

Retrouver l'adresse URL dans views.py sous Django

> Pour retrouver l'adresse URL dans le fichier views.py il faut utiliser la fonction django: [reverse](https://docs.djangoproject.com/en/dev/topics/http/urls/#reverse). Comme dans cet exemple test: > views.py from django.core.urlresolvers import reverse def MyView(request): print reverse('MyApp.views.MyView') > urls.py: url(r'^/Forum/01/$', 'MyApp.views.MyView') > donne alors: /Forum/01/ ### Recherches associées Liens | Site ------------- | ------------- [UR

Comment ajouter une grille sur une figure avec Matplotlib ?

Exemples de comment ajouter une grille sur une figure avec matplotlib: [TOC] ### Avec la fonction grid() Avec matplotlib il est possible de rajouter une grille de fond sur votre figure en utilisant la fonction grid (voir la documentation de matplotlib [matplotlib.pyplot.grid()](http://matplotlib.org/api/pyplot_api.html) pour connaitre l'ensemble des arguments possibles). Exemple simple: [image:454 size:50 caption:Comment ajouter une grille sur une figure avec Matplotlib ?] import

Augmenter / Ajuster l'espace entre les labels des axes et la figure avec Matplotlib

Avec matplotlib on peut facilement ajuster l'espace entre les labels et la figure en utilisant l'argument "labelpad" avec xlabel et/ou ylabel. Exemple avec labelpad=20: [image:452 size:100 caption:Exemple (1/2) avec labelpad=20: Comment augmenter l'espace entre les labels des abscisses et la figure sous Matplotlib.] import matplotlib.pyplot as plt import numpy as np def f(x): return 0.4 * x + 2 fig, ax = plt.subplots() plt.plot([0.0, 10.0], [0.0, 10.0], 'r-', lw=2) # Red st

Tracer une ligne droite avec matplotlib

Pour tracer une simple ligne droite avec matplotlib il existe la fonction plot du module [pyplot](http://matplotlib.org/api/pyplot_api.html#module-matplotlib.pyplot) dont voici un exemple simple d'utilisation: [image:450 size:100 caption:Tracer une simple ligne droite avec matplotlib (1/2)] import matplotlib.pyplot as plt import numpy as np plt.plot([0.0, 10.0], [0.0, 10.0], 'r-', lw=2) # Red straight line plt.plot([2.0, 6.0], [0.0, 10.0], 'b--', lw=2) # Blue dashed straight line

Sélectionner le dernier élément d'une liste python

Avec python il est facile de retrouver le dernier élément d'une liste, illustration: >>> a = [5,2,7,8] >>> a[-1] # dernier élément de la liste a 8 >>> a[-2] # avant dernier élément de la liste a 7 ### Recherches associées Liens | Site ------------- | ------------- [Data Structures](https://docs.python.org/2/tutorial/datastructures.html) | Python Doc [How to get the last element of a list?](http://stackoverflow.com/questions/930397/how-to-get-the-last-element-of-a-list)

Comment télécharger un fichier pdf du web à partir de son url en python ?

Pour télécharger un fichier pdf du web à partir de son url en python il existe le module [urllib](https://docs.python.org/2/library/urllib.html) et la fonction urlretrieve. Soit par exemple le fichier pdf en ligne suivant: http://math.univ-toulouse.fr/~besse/Wikistat/pdf/st-intro.pdf Pour télécharger on peut alors faire comme ceci: >>> import urllib >>> urllib.urlretrieve('http://math.univ-toulouse.fr/~besse/Wikistat/pdf/st-intro.pdf', "st-intro.pdf") Note: on peut aussi

Obtenir une liste des liens d'une page HTML en python

Avec python il est possible d'obtenir une liste des liens provenant d'une page HTML en passant par le module [beautifulsoup4](https://pypi.python.org/pypi/beautifulsoup4/4.3.2). Dans cet exemple, on récupère tous les liens sur la page wikipedia sur Alan Turing: # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import urllib2 import re html_page = urllib2.urlopen("http://fr.wikipedia.org/wiki/Alan_Turing") soup = BeautifulSoup(html_page) LinksList = [] for link in soup.findAll(

Vérifier si une adresse url existe avec python

Avec python il est possible de vérifier si une adresse url existe ou pas grâce aux modules [httplib](https://docs.python.org/2/library/httplib.html) et [urlparse](https://docs.python.org/2/library/urlparse.html). Voici un exemple de mise en pratique ([source](http://stackoverflow.com/questions/6471275/python-script-to-see-if-a-web-page-exists-without-downloading-the-whole-page)): # -*- coding: utf-8 -*- import httplib from urlparse import urlparse def checkUrl(url): p = urlparse(url

Boucle "for" sur 2 ou plusieurs "queryset" dans le template

Considérons, tout d'abord, le cas simple, où on veut dans le template créer un tableau en utilisant une boucle "for" à partir d'un "queryset", on procède alors généralement comme ceci, dans views.py : def MyView(request): MyQuerySet = Article.objects.order_by('-modified') return render_to_response("MyApp/exemple.html", {'MyQuerySet':MyQuerySet}, context_instance=RequestContext(request)) et dans le template (intitulé ici exemple.html) <table class="table table-striped

Requête avec un filtre utilisant une liste (Django)

Avec django il est possible de mettre en place une requête avec un filtre utilisant une liste, voir exemple ([source](http://stackoverflow.com/questions/4916851/django-get-a-queryset-from-array-of-ids-in-specific-order)) id_list = [1, 5, 7] objects = Foo.objects.filter(id__in=id_list) ### Recherches associées Liens | Site ------------- | ------------- [The pk lookup shortcut](https://docs.djangoproject.com/en/dev/topics/db/queries/#the-pk-lookup-shortcut) | Django Doc [in](https://d

Créer une liste de nombres avec python

Avec python il est possible de créer une liste de nombres en utilisant la fonction "build-in" [range](https://docs.python.org/2/library/functions.html#range), exemple: >>> a = range(1,10) >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(4,10) >>> a [4, 5, 6, 7, 8, 9] >>> a = range(0,10,1) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(0,-10,-1) >>> a [0, -1, -2, -3, -4, -5, -6,

Changer la taille de la police dans la légende (matplotlib)

Pour changer la taille de la police dans une légende sous matplotlib il suffit d'ajouter le mot clé "prop" (i.e. plt.legend(prop={'size':12}) dans la fonction pyplot: [legend](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.legend) comme dans cette exemple [image:448 size:100 caption:Changer la taille de la police dans la légende sous matplotlib (Exemple avec plt.legend())] [image:449 size:100 caption:Changer la taille de la police dans la légende sous matplotlib (Exemple avec pl

Boucle simultanée sur 2 ou plusieurs listes en python

Avec python il est possible de faire une boucle simultanée sur 2 ou plusieurs listes en même temps avec la fonction [zip](https://docs.python.org/2/library/functions.html#zip). Exemple basique d'utilisation: >>> a = [1,7,2] >>> b = [8,9,4] >>> for i,j in zip(a,b): ... print i,j ... 1 8 7 9 2 4 >>> c = [121,143,876] >>> for i,j,k in zip(a,b,c): ... print i,j,k ... 1 8 121 7 9 143 2 4 876 ### Recherches associées Liens | Sit