ผลต่างระหว่างรุ่นของ "Python Programming/Lists"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 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