List comprehension
List comprehension เป็นวิธีที่กระชับและสะดวกสำหรับงานโปรแกรมมิ่งที่พบบ่อย ได้แก่ การวนซ้ำผ่านลิสต์ คำนวณค่า แล้วบันทึกผลลัพธ์ลงในลิสต์ใหม่
แม้จะทำได้ด้วยลูป for แต่ list comprehension ช่วยให้ทำสิ่งเดียวกันได้ด้วยโค้ดที่สั้นกว่า
ตัวอย่าง list comprehension ด้านล่างนี้ยกกำลังสองค่าทุกตัวในลิสต์:
x = [1, 2, 3, 4]
print([i**2 for i in x])
[1, 4, 9, 16]
มีลิสต์ชื่อไฟล์ให้แล้วในตัวแปร inflam_files โดยโจทย์คือให้เขียน list comprehension ที่นำเข้าไฟล์เหล่านี้เป็น DataFrame ของ pandas ทั้งหมดในลิสต์เดียว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python สำหรับผู้ใช้ R
คำแนะนำการฝึกหัด
- เขียน for loop ที่มีให้ใหม่ในรูปแบบ list comprehension โดยตั้งชื่อว่า
dfs_comp
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Append dataframes into list with for loop
dfs_list = []
for f in inflam_files:
dat = pd.read_csv(f)
dfs_list.append(dat)
# Re-write the provided for loop as a list comprehension: dfs_comp
dfs_comp = [____.____(____) for ____ in ____]
print(dfs_comp)