# Copyright 2014 Brett Slatkin, Pearson Education Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Preamble to mimick book environment
import logging
from pprint import pprint
from sys import stdout as STDOUT
# Example 1
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
squares = [x**2 for x in a]
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# Example 2
squares = map(lambda x: x ** 2, a)
print(list(squares))
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# Example 3
even_squares = [x**2 for x in a if x % 2 == 0]
print(even_squares)
[4, 16, 36, 64, 100]
# Example 4
alt = map(lambda x: x**2, filter(lambda x: x % 2 == 0, a))
print(alt, list(alt))
assert even_squares == list(alt)
<map object at 0x103e6cd68> [4, 16, 36, 64, 100]
--------------------------------------------------------------------------- AssertionError Traceback (most recent call last) <ipython-input-10-a405c649eaed> in <module>() 2 alt = map(lambda x: x**2, filter(lambda x: x % 2 == 0, a)) 3 print(alt, list(alt)) ----> 4 assert even_squares == list(alt) AssertionError:
# Example 5
chile_ranks = {'ghost': 1, 'habanero': 2, 'cayenne': 3}
rank_dict = {rank: name for name, rank in chile_ranks.items()}
chile_len_set = {len(name) for name in rank_dict.values()}
print(rank_dict)
print(chile_len_set)
{1: 'ghost', 2: 'habanero', 3: 'cayenne'} {8, 5, 7}