Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Compreensões de Listas com Condições | Compreensões de Listas e Dicionários
Tutorial de Loops em Python

book
Compreensões de Listas com Condições

Compreensões de lista permitem que você filtre e processe elementos de forma eficiente. A sintaxe:

python
[expression for element in iterable if condition]

Esta sintaxe ajuda você a criar uma nova lista incluindo apenas elementos que atendem a uma condição especificada.

travel_wishlist = [
['Paris', 'France', 2000],
['Tokyo', 'Japan', 3000],
['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],
['Sydney', 'Australia', 4000]
]

japanese_cities = []
for city in travel_wishlist:
if city[1] == 'Japan':
japanese_cities.append(city[0])

print(japanese_cities) # Output: ['Tokyo', 'Kyoto']
1234567891011121314
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] japanese_cities = [] for city in travel_wishlist: if city[1] == 'Japan': japanese_cities.append(city[0]) print(japanese_cities) # Output: ['Tokyo', 'Kyoto']
copy

Este código usa um loop for e uma condição if para iterar através de travel_wishlist e verificar se o país é "Japan". Se a condição for verdadeira, o nome da cidade é adicionado a japanese_cities.

travel_wishlist = [
['Paris', 'France', 2000],
['Tokyo', 'Japan', 3000],
['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],
['Sydney', 'Australia', 4000]
]

japanese_cities = [city[0] for city in travel_wishlist if city[1] == 'Japan']
print(japanese_cities) # Output: ['Tokyo', 'Kyoto']
12345678910
travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] japanese_cities = [city[0] for city in travel_wishlist if city[1] == 'Japan'] print(japanese_cities) # Output: ['Tokyo', 'Kyoto']
copy

Este exemplo alcança o mesmo resultado que o anterior, mas de uma forma mais concisa. A compreensão de lista extrai os nomes das cidades onde o país é "Japan" em uma única linha de código.

Tarefa

Swipe to start coding

Você está gerenciando uma travel_wishlist, onde cada destino inclui detalhes como o nome da cidade e o custo estimado. Seu objetivo é criar uma lista filtrada de cidades com base em restrições orçamentárias.

  • Extraia os nomes das cidades de travel_wishlist.
  • Inclua apenas cidades onde o custo estimado seja inferior a $2500.
  • Use uma compreensão de lista para alcançar isso de forma eficiente.
  • Armazene os nomes das cidades filtradas na lista affordable_cities.

Solução

# Given travel wishlist
travel_wishlist = [['Paris', 'France', 2000],['Tokyo', 'Japan', 3000],['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],['Rome', 'Italy', 2200],['Sydney', 'Australia', 2800],
['Barcelona', 'Spain', 1900],['London', 'UK', 2600],['Berlin', 'Germany', 2100],
['Dubai', 'UAE', 3500],['Bangkok', 'Thailand', 1800],['Singapore', 'Singapore', 2900],
['Los Angeles', 'USA', 2700],['Cape Town', 'South Africa', 2300],['Venice', 'Italy', 2000],
['Istanbul', 'Turkey', 1750],['Toronto', 'Canada', 2250],['Rio de Janeiro', 'Brazil', 1950],
['Athens', 'Greece', 1850]]
# Create a new list of affordable cities
affordable_cities = [city[0] for city in travel_wishlist if city[2] < 2500]

# Testing
print('Affordable Cities:', affordable_cities)
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
# Given travel wishlist
travel_wishlist = [['Paris', 'France', 2000],['Tokyo', 'Japan', 3000],['New York', 'USA', 2500],
['Kyoto', 'Japan', 1500],['Rome', 'Italy', 2200],['Sydney', 'Australia', 2800],
['Barcelona', 'Spain', 1900],['London', 'UK', 2600],['Berlin', 'Germany', 2100],
['Dubai', 'UAE', 3500],['Bangkok', 'Thailand', 1800],['Singapore', 'Singapore', 2900],
['Los Angeles', 'USA', 2700],['Cape Town', 'South Africa', 2300],['Venice', 'Italy', 2000],
['Istanbul', 'Turkey', 1750],['Toronto', 'Canada', 2250],['Rio de Janeiro', 'Brazil', 1950],
['Athens', 'Greece', 1850]]
# Create a new list of affordable cities
affordable_cities = []

# Testing
print('Affordable Cities:', affordable_cities)
toggle bottom row
We use cookies to make your experience better!
some-alt