Comprehensions

Python สำหรับผู้ใช้ R

Daniel Chen

Instructor

Comprehensions คือการวนซ้ำ

  • วนซ้ำ (loop) ผ่านลิสต์
  • ประมวลผลด้วยฟังก์ชัน
  • เพิ่มผลลัพธ์ลงในลิสต์ใหม่
Python สำหรับผู้ใช้ R

List comprehension

Loop
data = [1, 2, 3, 4, 5]
new = []
for x in data:
    new.append(x**2)
print(new)
[1, 4, 9, 16, 25]
Comprehension
data = [1, 2, 3, 4, 5]

new = [x**2 for x in data]
print(new)
[1, 4, 9, 16, 25]
Python สำหรับผู้ใช้ R

Dictionary comprehension

Loop
data = [1, 2, 3, 4, 5]
new = {}

for x in data:
    new[x] = x**2
print(new)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Comprehension
data = [1, 2, 3, 4, 5]

new = {x: x**2 for x in data}
print(new)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Python สำหรับผู้ใช้ R

ทางเลือกแทนลูป `for`

  • ใช้ลูป for ในการวนซ้ำ
  • R: ฟังก์ชัน sapply, lapply, apply
  • Python: ฟังก์ชัน map และเมธอด apply
Python สำหรับผู้ใช้ R

Map

For Loop
de sq(x):
    return x**2

l = [1, 2, 3]
for i in l:
    print(sq(i))
1
4
9
Map
map(sq, l)
<map at 0x7f41cca38358>
list(map(sq, l))
[1, 4, 9]
Python สำหรับผู้ใช้ R

มาฝึกกันเถอะ!

Python สำหรับผู้ใช้ R

Preparing Video For Download...