Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Pointal
frouty wrote:
Bonjour,
Comment faire pour récupérer la longeur de la séquence dans une liste de sequence:
seq=[[A1,A2,A3,...,An],....,[E1,E2,E3,...,En]]
Je cherche a récupérer la valeur de n.
n sera toujours le meme dans toutes les séquences.
je peux faire len(seq[0]) mais je trouve que c'est pas tres élégant...
Pourquoi?
Si tu es sûr que toutes les séquences sont de même longueur, c'est propre. Tant que le but n'est pas de vérifier que toutes les séquences sont de même longueur...
Y a quelque chose de plus pythonesque.
Pas à ma connaissance.
Tu pourrais récupérer toutes les longueurs: longueurs = [len(s) for s in seq]
Et après récupérer le mini/maxi, voir vérifier qu'ils sont équivalents. minlong = min(longueurs) maxlong = max(longueurs) if minlong!=maxlong: ...
Mais si tu es sûr que les sous-séquences sont toutes de même longueur, c'est du traitement inutile.
A+
Laurent.
frouty wrote:
Bonjour,
Comment faire pour récupérer la longeur de la séquence
dans une liste de sequence:
seq=[[A1,A2,A3,...,An],....,[E1,E2,E3,...,En]]
Je cherche a récupérer la valeur de n.
n sera toujours le meme dans toutes les séquences.
je peux faire len(seq[0]) mais je trouve que c'est pas tres élégant...
Pourquoi?
Si tu es sûr que toutes les séquences sont de même longueur, c'est propre.
Tant que le but n'est pas de vérifier que toutes les séquences sont de même
longueur...
Y a quelque chose de plus pythonesque.
Pas à ma connaissance.
Tu pourrais récupérer toutes les longueurs:
longueurs = [len(s) for s in seq]
Et après récupérer le mini/maxi, voir vérifier qu'ils sont équivalents.
minlong = min(longueurs)
maxlong = max(longueurs)
if minlong!=maxlong: ...
Mais si tu es sûr que les sous-séquences sont toutes de même longueur, c'est
du traitement inutile.
Comment faire pour récupérer la longeur de la séquence dans une liste de sequence:
seq=[[A1,A2,A3,...,An],....,[E1,E2,E3,...,En]]
Je cherche a récupérer la valeur de n.
n sera toujours le meme dans toutes les séquences.
je peux faire len(seq[0]) mais je trouve que c'est pas tres élégant...
Pourquoi?
Si tu es sûr que toutes les séquences sont de même longueur, c'est propre. Tant que le but n'est pas de vérifier que toutes les séquences sont de même longueur...
Y a quelque chose de plus pythonesque.
Pas à ma connaissance.
Tu pourrais récupérer toutes les longueurs: longueurs = [len(s) for s in seq]
Et après récupérer le mini/maxi, voir vérifier qu'ils sont équivalents. minlong = min(longueurs) maxlong = max(longueurs) if minlong!=maxlong: ...
Mais si tu es sûr que les sous-séquences sont toutes de même longueur, c'est du traitement inutile.
A+
Laurent.
Méta-MCI
Bonjour !
Pour récupérer toutes les longueurs, on peut aussi faire : longueurs = map(len, seq)
C'est plus lisible, mais moins pythonesque que la liste en intention. - moins pythonesque, parce que les listes en intention sont presque spécifiquement Python (& haskell) - ce qui est paradoxal ("plus lisible, mais moins pythonesque")
@+
Michel Claveau
Bonjour !
Pour récupérer toutes les longueurs, on peut aussi faire :
longueurs = map(len, seq)
C'est plus lisible, mais moins pythonesque que la liste en intention.
- moins pythonesque, parce que les listes en intention sont presque
spécifiquement Python (& haskell)
- ce qui est paradoxal ("plus lisible, mais moins pythonesque")
Pour récupérer toutes les longueurs, on peut aussi faire : longueurs = map(len, seq)
C'est plus lisible, mais moins pythonesque que la liste en intention. - moins pythonesque, parce que les listes en intention sont presque spécifiquement Python (& haskell) - ce qui est paradoxal ("plus lisible, mais moins pythonesque")