Compreensão de Dicionário com Condição
Você pode adicionar uma condição em uma compreensão de dicionário para filtrar itens dinamicamente enquanto cria o dicionário. A sintaxe para uma compreensão de dicionário com condição é:
{key_expression: value_expression for item in iterable if condition}
12345678910111213141516travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
Este código percorre a lista travel_wishlist, verificando se o orçamento de cada destino é menor ou igual a $2500. Se a condição for atendida, a cidade e seu orçamento são adicionados ao dicionário affordable_destinations.
123456789101112travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
Este exemplo alcança o mesmo resultado do anterior, mas de forma mais concisa e elegante. A condição if budget <= 2500 filtra os destinos com base no orçamento, e o dicionário resultante inclui apenas os destinos acessíveis.
Se você tentar desempacotar apenas duas variáveis (city e budget), o Python não conseguirá processar corretamente cada elemento da lista, pois cada sublista contém três elementos (city, country e budget). Isso causará um erro, já que o Python tentará atribuir três elementos a duas variáveis.
Veja como ficaria:
affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}
Esse código irá gerar um ValueError: not enough values to unpack (expected 2, got 3), pois cada elemento da lista possui três valores e você está tentando desempacotar apenas dois.
Swipe to start coding
Um viajante deseja filtrar sua travel_wishlist para incluir apenas destinos no Japão. Para realizar isso de forma eficiente, é necessário extrair os pares cidade-orçamento relevantes em um dicionário.
- Filtrar a
travel_wishlistpara incluir apenas destinos onde o país seja"Japan". - Armazenar o dicionário resultante em
japanese_destinations.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Incrível!
Completion taxa melhorada para 5
Compreensão de Dicionário com Condição
Deslize para mostrar o menu
Você pode adicionar uma condição em uma compreensão de dicionário para filtrar itens dinamicamente enquanto cria o dicionário. A sintaxe para uma compreensão de dicionário com condição é:
{key_expression: value_expression for item in iterable if condition}
12345678910111213141516travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Filter destinations within a $2500 budget using a for loop affordable_destinations = {} for city, country, budget in travel_wishlist: if budget <= 2500: # Check if the budget is within the limit affordable_destinations[city] = budget print(affordable_destinations)
Este código percorre a lista travel_wishlist, verificando se o orçamento de cada destino é menor ou igual a $2500. Se a condição for atendida, a cidade e seu orçamento são adicionados ao dicionário affordable_destinations.
123456789101112travel_wishlist = [ ['Paris', 'France', 2000], ['Tokyo', 'Japan', 3000], ['New York', 'USA', 2500], ['Kyoto', 'Japan', 1500], ['Sydney', 'Australia', 4000] ] # Use dictionary comprehension to filter destinations affordable_destinations = {city: budget for city, country, budget in travel_wishlist if budget <= 2500} print(affordable_destinations) # Output: {'Paris': 2000, 'New York': 2500, 'Kyoto': 1500}
Este exemplo alcança o mesmo resultado do anterior, mas de forma mais concisa e elegante. A condição if budget <= 2500 filtra os destinos com base no orçamento, e o dicionário resultante inclui apenas os destinos acessíveis.
Se você tentar desempacotar apenas duas variáveis (city e budget), o Python não conseguirá processar corretamente cada elemento da lista, pois cada sublista contém três elementos (city, country e budget). Isso causará um erro, já que o Python tentará atribuir três elementos a duas variáveis.
Veja como ficaria:
affordable_destinations = {city: budget for city, budget in travel_wishlist if budget <= 2500}
Esse código irá gerar um ValueError: not enough values to unpack (expected 2, got 3), pois cada elemento da lista possui três valores e você está tentando desempacotar apenas dois.
Swipe to start coding
Um viajante deseja filtrar sua travel_wishlist para incluir apenas destinos no Japão. Para realizar isso de forma eficiente, é necessário extrair os pares cidade-orçamento relevantes em um dicionário.
- Filtrar a
travel_wishlistpara incluir apenas destinos onde o país seja"Japan". - Armazenar o dicionário resultante em
japanese_destinations.
Solução
Obrigado pelo seu feedback!
single