Bonjour,

J'apprend Python sur le tas. Je m'en sers généralement pour écrire des petits scripts de traitement où je manipule des listes. Sauf que je n'ai pas beaucoup de recul sur mon code. Ca me semble simple et efficace mais il y a peut-être bien mieux à faire : c'est pour ça que je viens vous demander un avis.

Voici le contenu d'un fichier :
0
SwitchDeviceListener.deviceRegistered()
OFF
SwitchDeviceListener.deviceRegistered()
OFF
110
78
ON
390
ON
78
OFF
437
OFF
79
ON
421
ON
94
OFF
421
OFF
95
ON
405
[...]
L'objectif est d'obtenir les valeurs min, max, moyen. C'est écrit ce script pour cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from statistics import mean, median
 
# Read file content
f = open("C:\\Users\\pgradot\\Desktop\\data.txt", "r")
lines = f.readlines()
f.close()
 
# Clean content
to_exclude = ["SwitchDeviceListener.deviceRegistered()\n", "ON\n",  "OFF\n"]
cleaned = [line for line in lines if line not in to_exclude]
print(cleaned)
 
# Convert to numbers
numbers = list(map(int, cleaned))
print(numbers)
 
# Print statistics
print("Min = ", min(numbers))
print("Max = ", max(numbers))
print("Mean = ", mean(numbers))
print("Median = ", median(numbers))
J'aurais souhaité avoir un regard de gens plus expérimentés en Python sur ce code. Notamment sur la ligne pour obtenir cleaned car je fais très souvent ce genre d'écritures et je me demande s'il n'y a pas mieux à écrire.

Merci pour vos avis !