Je cherche à dédoubler une liste ou un string
Exemple:
l = [1, 5, 3] => ll = [1, 1, 5, 5, 3, 3]
l = '153' => ll = '115533'
L'objectif étant que ce soit le plus rapide possible (ma liste ou string initiale ayant une taille supérieur à 150000)
Avec une méthode bourrine, je suis à 180ms pour la string et 210 ms pour la liste mais c'est beaucoup trop (il me faudrait ne pas dépasser les 50ms)
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 ## sur une string toto = 20000 * '1234567890' res = '' a = time.clock() for i in toto: res += i+i b = time.clock() print b-a ##sur une liste toto = 20000 * [1,2,3,4,5,6,7,8,9,0] res = [] a = time.clock() for i in toto: res.append(i) res.append(i) b = time.clock() print b-a![]()
Partager