0
votes

Obtenir des valeurs de la liste de la liste / tuple

J'essaie d'obtenir la première valeur de chaque liste de liste basée sur la 3ème valeur de la liste - si elle est -3 code>, puis prenez la première valeur de cette liste.

Le La liste initiale de la liste ressemble à: p> xxx pré>

Ceci est le résultat souhaité: p>

['GRRSCLOE1','GRAMDZGP1','GRASAOTB2','GRTVAPEM4']


1 commentaires

[i [0] pour i dans votre_list] ?


4 Réponses :


0
votes
[i[0] for i in given_list if i[2] == -3]
This might help you

0 commentaires

1
votes

Essayez ceci:

l = [['GRRSCLOE1', <DstTzInfo 'America/Santiago' LMT-1 day, 19:17:00 STD>, -3.0, 'RR'], ['GRTFRAIX1', <DstTzInfo 'Europe/Berlin' LMT+0:53:00 STD>, 1.0, 'P'], ['GRAMDZGP1', <DstTzInfo 'America/Argentina/Mendoza' LMT-1 day, 19:25:00 STD>, -3.0, 'P+PE'], ['GRASAOTB2', <DstTzInfo 'America/Sao_Paulo' LMT-1 day, 20:54:00 STD>, -3.0, 'PE'], ['GRTVAPEM4', <DstTzInfo 'America/Santiago' LMT-1 day, 19:17:00 STD>, -3.0, 'P']]
new_list = [i[0] for i in l if int(i[2])==-3]


1 commentaires

Merci beaucoup merci, exactement ce dont j'avais besoin. Je construisais une liste déroulante interconnectée avec ipwidgets.



1
votes

code : xxx

sortie : xxx

Explications:

Tout d'abord, vos chaînes de liste initiales doivent être entourées de citations doubles ou simples, si vous avez des guillemets simples dans la chaîne et que vous ne souhaitez pas vous échapper, utilisez des guillemets doubles.

Alors ce que vous recherchez est la liste des compréhensions de la liste:

  • La construction [<< Opération sur a> pour une liste dans la liste Si ] vous permettra de renvoyer une liste contenant tous les éléments x de votre liste initiale qui remplissent la condition < / li>
  • Cela rendrait toutes les listes imbriquées de votre exemple, car vous n'êtes pas intéressé par le premier élément remplacer par A [0]

0 commentaires

0
votes

Vous pouvez utiliser l'opérateur itemGetter () pour obtenir des éléments des sublistes: xxx


0 commentaires