1
votes

Comment imprimer les éléments avec le nombre inférieur à 9 et le nombre supérieur à 10?

J'écris un programme pour visualiser les éléments d'une liste inférieurs ou supérieurs à 9. Voici la liste que j'ai faite:

list = [("item1",12.5),("item",2.3),("item",7.0)]

Je veux pouvoir imprimer les éléments dont le nombre est inférieur à 9, puis imprimez ceux dont le nombre est supérieur à 10.


0 commentaires

6 Réponses :


1
votes

Vous pouvez utiliser les list comprehensions , qui fournissent un moyen simple de filtrer les listes:

[i for i in l if i[1] < 9]
# [('item', 2.3), ('item', 7.0)]

Ce qui équivaut à la boucle for suivante:

new_list = []
for i in l:
    if i[1] > 9:
        new_list.append(i)
print(new_list)
# [('item1', 12.5)]

Ou pour des valeurs inférieures à 9 :

l = [("item1",12.5),("item",2.3),("item",7.0)]
[i for i in l if i[1] > 9]
# [('item1', 12.5)]


0 commentaires

0
votes

Étant donné une liste,

>>> [(item, value) for (item, value) in L if value < 9.0]
[('item', 2.3), ('item', 7.0)]

(notez en évitant d'utiliser le mot-clé list comme nom de variable), vous pouvez faire une compréhension de liste, par exemple: p>

L = [("item1",12.5),("item",2.3),("item",7.0)]

Pour changer les critères, changez le I f à la fin.


0 commentaires

0
votes

Boucle / itération sur les éléments de la liste

my_list = [("item1",12.5),("item",2.3),("item",7.0)]

for item in my_list:
    if item[1] < 9:  # change <9 to whatever condition you want
        print(item)  


0 commentaires

0
votes

Vous pouvez utiliser la fonction de filtre comme telle:

print(filtered_list)

[('item', 2.3), ('item', 7.0)]

en imprimant ceci:

original_list = [("item1",12.5),("item",2.3),("item",7.0)]

filtered_list = list(filter(lambda x: x[1] < 9.0, original_list))


0 commentaires

0
votes
liste = [("item1",12.5),("item",2.3),("item",7.0)]
index=0

while(index<liste.__len__()):
   if liste[index][1] > 9:
      print(liste[index])
   index=index+1

1 commentaires

Veuillez modifier votre réponse et expliquer pourquoi le code que vous avez fourni fonctionne.



0
votes

Stockage des valeurs dans 2 listes

my_list = [("item1",12.5),("item",2.3),("item",7.0)]

less_than_9 = [x for x in my_list if x[1] < 9]
more_than_9 = [x for x in my_list if x[1] > 9]

>>> print(less_than_9)
[("item1",12.5)]
>>> print(more_than_9)
[("item",2.3),("item",7.0)]


0 commentaires