ผลต่างระหว่างรุ่นของ "Python Programming/Lists"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) |
||
แถว 42: | แถว 42: | ||
== การประมวลผล list == | == การประมวลผล list == | ||
+ | ไพทอนมีฟังก์ชันสำหรับทำการคำนวณเกี่ยวกับ list ที่สำคัญอยู่สามฟังก์ชัน ได้แก่ <tt>map</tt>, <tt>filter</tt>, และ <tt>reduce</tt> | ||
+ | |||
+ | ฟังก์ชัน <tt>map(function, sequence)</tt> เรียกฟังก์ชัน <tt>function</tt> ที่เรากำหนดโดยมี parameter เป็นสมาชิกของ list <tt>sequence</tt> แล้วสร้าง list ใหม่ซึ่งมีสมาชิกเป็นผลลัพธ์ฟังก์้ชันนั้น | ||
+ | <pre title="interpreter"> | ||
+ | >>> map(plusone, [1,2,3,4,5]) | ||
+ | [2, 3, 4, 5, 6] | ||
+ | >>> def cube(x): | ||
+ | ... return x**3 | ||
+ | ... | ||
+ | >>> map(cube, [-2,-1,0,1,2,100]) | ||
+ | [-8, -1, 0, 1, 8, 1000000] | ||
+ | </pre> | ||
+ | |||
+ | ฟังก์ชัน <tt>filter(function, sequence)</tt> เรียกฟังก์ชัน <tt>function</tt> ซึ่งคืนค่าเป็นบูลีน โดยมี parameter เป็นสมาชิกของ list <tt>sequence</tt> แล้วสร้าง list ของสมาชิกทุกตัวที่ฟังก์ชันคืนค่าเป็น <tt>True</tt> | ||
{{Python Programming/Navigation|Tuples|Loops}} | {{Python Programming/Navigation|Tuples|Loops}} |
รุ่นแก้ไขเมื่อ 09:59, 17 ตุลาคม 2551
ลิิสต์ (list) เป็นข้อมูลซึ่งแทนลำดับของค่าต่างๆ เหมือน tuple แต่ว่าเราสามารถเปลี่ยนสมาชิกที่ตำแหน่งต่างๆ ของ list ได้ ซึ่งทำให้ลิสต์คล้ายอะเรย์ในภาษา C มากกว่า tuple เราสามารถสร้าง list ได้ด้วยการเขียนลำดับของสมาชิกใน list ภายในวงเล็บก้ามปู
>>> a = [True, "saber", 3.1415927, "archer", "lancer"] >>> a [True, 'saber', 3.1415926999999999, 'archer', 'lancer'] >>> b = ['berserker'] >>> b ['berserker'] >>> c = [] >>> c []
สังเกตว่าเราสามารถสร้าง list ที่มีสมาชิกตัวเดียว (b) และ list ว่าง (c) ได้โดยไม่ต้องอาศัยไวยากรณ์แบบพิเศษเช่นเดียวกับ tuple
เราสามารถเปลี่ยนสมาชิก ณ ตำแหน่งต่างของ list ได้
>>> a [False, 'saber', 3.1415926999999999, 'archer', 'lancer'] >>> a[2] = 22/7 >>> a [False, 'saber', 3, 'archer', 'lancer']
นอกจากนี้เราสามารถทำ slicing ใช้เครื่องหมายบวก และคูณ list ด้วยจำนวนเต็มได้เหมือนกับ tuple
>>> a [False, 'saber', 3, 'archer', 'lancer'] >>> a[2:5] [3, 'archer', 'lancer'] >>> a[:-1] [False, 'saber', 3, 'archer'] >>> a + b [False, 'saber', 3, 'archer', 'lancer', 'berserker'] >>> b + a ['berserker', False, 'saber', 3, 'archer', 'lancer'] >>> 4*b ['berserker', 'berserker', 'berserker', 'berserker'] >>> 5*c []
การประมวลผล list
ไพทอนมีฟังก์ชันสำหรับทำการคำนวณเกี่ยวกับ list ที่สำคัญอยู่สามฟังก์ชัน ได้แก่ map, filter, และ reduce
ฟังก์ชัน map(function, sequence) เรียกฟังก์ชัน function ที่เรากำหนดโดยมี parameter เป็นสมาชิกของ list sequence แล้วสร้าง list ใหม่ซึ่งมีสมาชิกเป็นผลลัพธ์ฟังก์้ชันนั้น
>>> map(plusone, [1,2,3,4,5]) [2, 3, 4, 5, 6] >>> def cube(x): ... return x**3 ... >>> map(cube, [-2,-1,0,1,2,100]) [-8, -1, 0, 1, 8, 1000000]
ฟังก์ชัน filter(function, sequence) เรียกฟังก์ชัน function ซึ่งคืนค่าเป็นบูลีน โดยมี parameter เป็นสมาชิกของ list sequence แล้วสร้าง list ของสมาชิกทุกตัวที่ฟังก์ชันคืนค่าเป็น True
หน้าก่อน: Tuples | สารบัญ | หน้าต่อไป: Loops |