9.1. Comprehensions Nesting¶
9.1.1. Nested Comprehensions¶
DATA = [
{'lastname': 'Watney'},
{'firstname': 'Melissa', 'lastname': 'Lewis'},
{'firstname': 'Rick'},
{'firstname': 'Beth', 'lastname': 'Johanssen'},
{'firstname': 'Chris', 'lastname': 'Beck', 'birthdate': 1961},
]
fieldnames = set(key
for row in DATA
for key in row.keys()
)
print(fieldnames)
# {'birthdate', 'lastname', 'firstname'}
DATA = [
{'lastname': 'Watney'},
{'firstname': 'Melissa', 'lastname': 'Lewis'},
{'firstname': 'Rick'},
{'firstname': 'Beth', 'lastname': 'Johanssen'},
{'firstname': 'Chris', 'lastname': 'Beck', 'birthdate': 1961},
]
fieldnames = set()
fieldnames.update(key
for row in DATA
for key in row.keys()
)
print(fieldnames)
# {'birthdate', 'lastname', 'firstname'}
DATA = [
{'lastname': 'Watney'},
{'firstname': 'Melissa', 'lastname': 'Lewis'},
{'firstname': 'Rick'},
{'firstname': 'Beth', 'lastname': 'Johanssen'},
{'firstname': 'Chris', 'lastname': 'Beck', 'birthdate': 1961},
]
fieldnames = set()
fieldnames.update(key for row in DATA for key in row.keys())
print(fieldnames)
# {'birthdate', 'lastname', 'firstname'}
9.1.2. Generator comprehensions¶
DATA = [
{'lastname': 'Watney'},
{'firstname': 'Melissa', 'lastname': 'Lewis'},
{'firstname': 'Rick'},
{'firstname': 'Beth', 'lastname': 'Johanssen'},
{'firstname': 'Chris', 'lastname': 'Beck', 'birthdate': 1961},
]
fieldnames = set()
fieldnames.add(key
for row in DATA
for key in row.keys()
)
print(fieldnames)
# {<generator object <genexpr> at 0x1179a0a50>}