next() dans une inline loop

Le problème exposé dans ce sujet a été résolu.

Bonsoir,

Juste pour le fun, j'aimerais faire mon code le plus concis possible. Voici ce que j'ai pour le moment :

1
2
3
with open('tests\\tracesGPS1.csv') as csv:
    next(csv)
    csv_py = [[float(data) for data in line.split(',')] for line in csv]

Je pensais faire comme ça, mais il n'aime pas le next() dans la boucle (en effet la première ligne du csv est du texte) :

1
csv_py = [[float(data) for data in line.split(',')] for line in next(open('tests\\tracesGPS1.csv'))]

Existerait-il un autre moyen de le faire ou je ne peux pas le rendre plus concis que la version actuelle ?
Merci à vous ! :)

Pour répondre techniquement à ton problème, tu appelles next sur un objet itérable, mais qui n'est pas un itérateur.

En gros tu cherchais à faire ceci :

1
2
csv_iter = iter(csv)
row = next(csv_iter)
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte