This document discusses list comprehensions in Python. It provides examples of using list comprehensions to generate lists based on conditions. It describes generating a list of squares of numbers from 1 to 20 and generating a list of letters from a dictionary whose values are greater than or equal to 3. It then discusses using list comprehensions to solve practice problems involving loading height data from a file, summarizing statistics, looking up heights, finding people above a certain height, and printing a report of heights.
{ x|x >1, x ∈ N }
List Comprehension - Quick Generation of List
NCCU, Department of Computer Science
Python Programming for Non-Programmer
2.
List Comprehension
Math World:
• Components
S = {2 · x|x ∈ N, x < 4}
• for
• if
Python World:
• else
S = [2*x for x in range(1,20) if x<4]
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
3.
Case 1
• Q: Generate a list contains square of
numbers between 1 and 20.
• A:
[x**2 for x in range(1,20+1)]
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
4.
Case II
• Q: Give dictionary D as following:
{‘a’:1, ‘b’:2, ‘c’:3, ‘d’:4, ‘e’:5}
Please generate the letters who has the
value which is greater than or equal 3.
• A: for x in D.keys() if D[x]>=3]
[x
[k for k,v in D.items() if v>=3]
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x}
List Comprehension
Introduction
5.
Practice
• Review assignment IV
• Warm up for assignment V
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x}
List Comprehension
Introduction
6.
Practice
• Q:
It’s about height of people, please design a
program to summarize and statistic the
data in data file given in TA session.
• Data file: pastie.org/1393033
• Architecture file: pastie.org/1393073
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
7.
Functions
• Load from file
• Summary of heights
• Lookup a person’s height
• Person above a height
• Print height report (three in a row)
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
8.
Load from file
• Load data from a file into a dictionary
• Key: name
• Value: height
• Hint: as what last assignment does
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
9.
Summary the Height
• Print out the following three information:
- Highest height
- Lowest height
- Average height
• Hint: try to sort the data by values, and pick
up the head and the tail of the sequence.
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
10.
Lookup a Height
• Ask a name and query the height of it
• Hint: as what last assignment does
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
11.
Person Above Height
• Find out who is taller than specific height
• Hint: use “List Comprehension”
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x} List Comprehension
Introduction
12.
Print Report
• Enumerate all people and their height each
by each
• Make output three records in row, like
following:
a, 152; b,180; c, 190;
d, 161; e, 229; f, 191;
g, 175; h, 159;
• Hint: Embedded a counter to your loop
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x}
List Comprehension
Introduction
13.
That’s all, justdo it.
NCCU, Department of Computer Science
Python Programming for Non-Programmer {x}
List Comprehension
Introduction