abz a écrit:11% seulement, c'est que ton ventilo est encore encrassé. Essai avec une bombe dépoussiérante ou avec un compresseur si t'as. Regarde aussi si tu peux dévisser une partie du cache arrière de l'ordi pour mieux accéder au ventilo et pour souffler vers l'extérieur plutôt que vers l'intérieur (évidemment fais attention à ne rien abimer à l'intérieur ).
En tout cas 64° ça va, c'est un peu haut mais il n'y a pas de risque à l'utiliser
entiers = [int(x) for x in a]
produit = [x*k for x in a]
Panzer a écrit:Quelqu'un a une Box avec Bouygues ? Je vais probablement passer chez eux pour profiter de leur offre promo. Je pense que niveau connexion internet ADSL, j'aurais pas de changement en qualité par rapport à Free en ADSL ?
Je vais également changer d'opérateur téléphonique, je suis chez Bouygues en ce moment. J'attends les offres promo de SFR ou Orange pour changer. Des différences de qualité entre ses opérateurs ?
[
1 => [2, 4, 6, 9]
5 => [3]
]
[1, 1, 1, 1, 5]
Je dispose d'une liste sur python qui est en fait un histogramme. C'est-à-dire que c'est une liste qui enregistre des nombres d'occurences d'événements. Typiquement, elle a une tête comme ça : HIST = [0 0 0 1 2 4 3...]
Je dispose aussi de la liste des abscisses de cet histogramme. Disons que c'est ABSC = [1 2 3 4 5 6 7 ...]
J'aimerais récupérer un vecteur de dimension sum(HIST) dont les composantes sont les valeurs de ABSC écrites autant de fois que l'événement apparait. Dans notre exemple, on aurait VECT = [4 5 5 6 6 6 6 7 7 7].
a = [0, 2, 4]
i = 1
b = []
for x in a :
temp = [i] * x
i = i + 1
b.extend(temp)
>>> b
[2, 2, 3, 3, 3, 3]
Murungaru a écrit:Pas sûr que tu puisse te passer d'une double boucle : une pour ta liste de base, l'autre pour construire avec à chaque itération ajouter x fois dans ta nouvelle liste ton numéro d'abscisse.
- Code: Tout sélectionner
a = [0, 2, 4]
i = 1
b = []
for x in a :
temp = [i] * x
i = i + 1
b.extend(temp)
>>> b
[2, 2, 3, 3, 3, 3]
Ici j'ai pas vu le source de extend mais bon j'imagine que ça itère.
i = 1
VECT = []
for x in HIST :
b.extend(ABSC[i] * x)
i = i + 1
abz a écrit:Par contre, les listes ne commencent pas à 0 en python ?
abz a écrit:Je fais rarement du python, donc je connais pas du tout toutes les fonctions, mais ça m'étonnerait aussi qu'il y en ait toute prête pour ça, donc t'aura du mal à te passer de boucles.
Par contre Murungaru je pense que tu as oublié d'utiliser ABSC, et ce n'est pas la peine de créer "temp" :
- Code: Tout sélectionner
i = 1
VECT = []
for x in HIST :
b.extend(ABSC[i] * x)
i = i + 1
Par contre, les listes ne commencent pas à 0 en python ?
i = 0
VECT = []
for x in HIST :
if x > 0:
b.extend([ABSC[i]] * x)
i = i + 1
Murungaru a écrit:A chaque fois que je repasse sur du python par contre j'oublie qu'on a pas le droit au "++" pour l'incrément
a = [2] * 5
a[1] = 3
i = 0
VECT = []
for x in HIST :
if x > 0:
b.extend([ABSC[i] for j in range(x)])
i = i + 1
abz a écrit:Apparemment cette syntaxe ([x] * y) crée un tableau de pointeurs vers la même valeur x, donc si t'en modifie une ça modifiera les autres.
- Code: Tout sélectionner
a = [2] * 5
a[1] = 3
Les 5 valeurs de a vaudront 3. Du coup il vaut peut être mieux utiliser la syntaxe utilisée plus haut :
- Code: Tout sélectionner
i = 0
VECT = []
for x in HIST :
if x > 0:
b.extend([ABSC[i] for j in range(x)])
i = i + 1
a=5*[0]
a[2]=2
print(a)
[0, 0, 2, 0, 0]
Murungaru a écrit:Pour ABSC oui en fait je l'ai fait sur la base du premier message, mais si c'est juste 1 2 3 4 5 etc tous les un, autant s'en passer. Mais je suis pas sûr d'avoir bien saisis le truc.
abz a écrit:C'est clair que c'est incompréhensible que ça n'existe pas en python Comme les +=, -=, *=, ...
Samuel a écrit:T'es sûr de ça ? Parce que quand je fais de la pré-allocation j'utilise cette syntaxe et je n'ai pas de souci (il me semble que c'est toujours mieux de pré-allouer une liste plutôt que de la construire terme à terme, non ?).
Samuel a écrit:+= et -= fonctionne pour l'incrémentation
abz a écrit:Samuel a écrit:T'es sûr de ça ? Parce que quand je fais de la pré-allocation j'utilise cette syntaxe et je n'ai pas de souci (il me semble que c'est toujours mieux de pré-allouer une liste plutôt que de la construire terme à terme, non ?).
Ah oui j'avais mal lu, en fait c'est juste si la valeur répétée est autre chose qu'un type simple, donc pour un entier c'est bon
def generation_time(filtre):
abscisse=[float(x)*200/10000 for x in np.array(range(10000))]
hist = [int(100*(np.exp(-x/35)-np.exp(-x/1))) for x in abscisse]
hist2 = np.array(hist)*(15000/sum(hist))
i = 0
gen_distrib_list = []
for x in hist2 :
gen_distrib_list.extend([abscisse[i]] * int(x))
i+=1
return gen_distrib_list
Utilisateurs parcourant ce forum : Dugarry, friton01, loik29, Piepie33 et 22 invités
Les Porteurs de bidons de l'actualité cycliste,
Le Gruppetto
PCM France, la communauté française de Pro Cycling Manager
Designed by Below the Barrel
Développé par phpBB® Forum Software © phpBB Group