[(1,2), (2,3), (4,5), (3,4), (6,7), (6,7), (3,8)]
Comment puis-je renvoyer la 2ème valeur de chaque tuple à l'intérieur de cette liste ?
Sortie désirée:
[2, 3, 5, 4, 7, 7, 8]
[(1,2), (2,3), (4,5), (3,4), (6,7), (6,7), (3,8)]
Comment puis-je renvoyer la 2ème valeur de chaque tuple à l'intérieur de cette liste ?
Sortie désirée:
[2, 3, 5, 4, 7, 7, 8]
Avec une compréhension de liste .
[x[1] for x in L]
Vous pouvez également utiliser le déballage de séquence avec zip
:
L = [(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
_, res = zip(*L)
print(res)
# (2, 3, 5, 4, 7, 7, 8)
Cela crée également un tuple _
partir des premiers éléments supprimés. Extraire uniquement le second est possible, mais plus verbeux :
from itertools import islice
res = next(islice(zip(*L), 1, None))
OU vous pouvez utiliser pandas
:
>>> import pandas as pd
>>> L = [(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
>>> df=pd.DataFrame(L)
>>> df[1]
0 2
1 3
2 5
3 4
4 7
5 7
6 8
Name: 1, dtype: int64
>>> df[1].tolist()
[2, 3, 5, 4, 7, 7, 8]
>>>
Ou numpy
:
>>> import numpy as np
>>> L = [(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
>>> arr=np.array(L)
>>> arr.T[1]
array([2, 3, 5, 4, 7, 7, 8])
>>> arr.T[1].tolist()
[2, 3, 5, 4, 7, 7, 8]
>>>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.