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