Python-List comprehension

13
List Comprehension - Quick Generation of List NCCU, Department of Computer Science Python Programming for Non-Programmer x|x> 1,x N { }

description

NCCU, Department of Computer SciencePython Programming for Non-Programmer

Transcript of Python-List comprehension

Page 1: Python-List comprehension

List Comprehension - Quick Generation of List

NCCU, Department of Computer SciencePython Programming for Non-Programmer

x|x > 1, x ∈ N{ }

Page 2: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

List Comprehension

• Components

• for

• if

• else

S = {2 · x|x ∈ N, x < 4}

S = [2*x for x in range(1,20) if x<4]

Math World:

Python World:

Page 3: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

Case 1

• Q: Generate a list contains square of numbers between 1 and 20.

• A: [x**2 for x in range(1,20+1)]

Page 4: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

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:[x for x in D.keys() if D[x]>=3][k for k,v in D.items() if v>=3]

Page 5: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

Practice

• Review assignment IV

• Warm up for assignment V

Page 6: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

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

Page 7: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

Functions

• Load from file

• Summary of heights

• Lookup a person’s height

• Person above a height

• Print height report (three in a row)

Page 8: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

Load from file

• Load data from a file into a dictionary

• Key: name

• Value: height

• Hint: as what last assignment does

Page 9: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

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.

Page 10: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

Lookup a Height

• Ask a name and query the height of it

• Hint: as what last assignment does

Page 11: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

Person Above Height

• Find out who is taller than specific height

• Hint: use “List Comprehension”

Page 12: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

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

Page 13: Python-List comprehension

NCCU, Department of Computer SciencePython Programming for Non-Programmer {x}List Comprehension

Introduction

That’s all, just do it.