,
จากนั้นก็ครอบทั้งหมดด้วยวงเล็บเหลี่ยม [ ]
เช่น
list_a = [3, 2, 5, 4, 9] # สร้างลิสต์ของจำนวนเต็ม
list_b = [195.1, 129.3, 201.6, 110.5] # สร้างลิสต์ของจำนวนจริง
Cnidaria = ['กัลปังหา', 'ปะการัง', 'ดอกไม้ทะเล', 'แมงกะพรุน'] # สร้างลิสต์ของสายอักขระ
kpkp = [11111, 999.99, 'กกกกก'] # ข้อมูลหลายชนิดปนกัน
( )
Mollusca = ('หมึก','ทากเปลือย','หอยฝาเดียว','หอยสองฝา','หอยงวงช้าง','หอยงาช้าง') # สร้างทูเพิลของสายอักขระ
Porifera = ('ฟองน้ำ',)
Cnidaria2 = tuple(Cnidaria) # สร้างทูเพิลขึ้นจากลิสต์ Cnidaria ที่สร้างขึ้นในตัวอย่างข้างต้น
print(Cnidaria2) # ได้ ('กัลปังหา', 'ปะการัง', 'ดอกไม้ทะเล', 'แมงกะพรุน')
Echinodermata = ('ดาวทะเล','ดาวเปราะ','เม่นทะเล','ปลิงทะเล','เหรียญทะเล','พลับพลึงทะเล')
print(list(Echinodermata)) # ได้ ['ดาวทะเล', 'ดาวเปราะ', 'เม่นทะเล', 'ปลิงทะเล', 'เหรียญทะเล', 'พลับพลึงทะเล']
1,2,3,4,5
range()
แล้วใส่อาร์กิวเมนต์ลงไป มีอยู่ ๓ รูปแบบในการสร้างโดยแบ่งตามจำนวนอาร์กิวเมนต์ที่ใช้0
โดยบวกทีละ 1
ไปจนถึงค่าก่อนค่านั้น เช่น
r = range(12)
0
ถึง 11
แต่เราไม่สามารถเห็นค่าทั้งหมดนั้นได้โดยการแค่ใช้ print
แม้จะพิมพ์ print(r)
ก็จะได้ออกมาเป็น range(0, 12)
print(list(r)) # ได้ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
1
ไปจนถึงก่อนค่าตัวขวา เช่น
r = range(129,135)
print(tuple(r)) # ได้ (129, 130, 131, 132, 133, 134)
r = range(1000,2000,100)
print(list(r)) # ได้ [1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900]
print(list(range(1,4)) == [1,2,3]) # ได้ True
print(range(1,4) == [1,2,3]) # ได้ False
range
เป็นเพียงฟังก์ชันสำหรับสร้างลิสต์ที่เป็นตัวเลขเรียง ไม่ใช่อิเทอเรเตอร์len
ซึ่งจะคืนค่าความยาว (ซึ่งก็คือจำนวนสมาชิก) ของลิสต์ออกมา
len(['a','e','i','o','u','ä','ö','ü']) # ได้ 8
len(range(1,99,3)) # ได้ 33
chamnuakhi = (1,3,5,7,9,11)
print(len(chamnuakhi)) # ได้ 6
[] # ลิสต์ว่าง
() # ทูเพิลว่าง
range(0, 0) # เรนจ์ว่าง
[ ]
โดยที่ตำแหน่งแรกเริ่มนับจาก 0
ไม่ใช่ 1
แต่ถ้าหากระบุตัวเลขเกินจำนวนสมาชิกก็จะขัดข้องขึ้นมาทันที
phasa = ['Thai','English','Python','C++','html']
print(phasa[0]) # ได้ 'Thai'
print(phasa[2]) # ได้ 'Python'
print(phasa[5]) # ได้ IndexError: list index out of range
0, 1, 2, 3, 4
ดังนั้นถ้าพิมพ์ phasa[5]
จึงเกินขอบเขต-1
คือตัวสุดท้าย แล้วก็ไล่มาเรื่อยๆ จนติดลบสูงสุดคือเท่ากับจำนวนสมาชิกในลิสต์ ซึ่งจะได้ตัวแรก
print(phasa[-1]) # ได้ 'html'
print(phasa[-5]) # ได้ 'Thai'
[ ]
ต้องเป็นจำนวนเต็มเท่านั้น ถ้าใส่จำนวนจริงหรือสายอักขระเข้ามาก็จะขัดข้องทันที
print(phasa[1.0]) # ได้ TypeError: list indices must be integers or slices, not float
=
เพื่อใส่ค่าใหม่ให้ทันที
phasa[3] = 'C#'
phasa[1] = 'Singlish'
phasa = print(phasa) # ได้ ['Thai', 'Singlish', 'Python', 'C#', 'html']
pokemon_red = ('pikachu','fushigibana','nyorobon','kabigon','ptera')
print(pokemon_red[3]) # ได้ 'kabigon'
pokemon_red[0] = 'raichu' # ได้ TypeError: 'tuple' object does not support item assignment
:
หากใส่ตัวเลขวางไว้หน้า : จะหมายความว่าเอาสมาชิกไล่ตั้งแต่ลำดับของเลขนั้นไปจนถึงท้ายลิสต์:
จะหมายความว่าเอาสมาชิกไล่ตั้งแต่ 0
ไปจนถึงก่อนหน้าที่จะถึงเลขนั้น:
จะหมายความว่าเอาสมาชิกตั้งแต่เลขตัวซ้าย ไปจนถึงก่อนเลขตัวขวาpokemon = ['fushigidane','hitokage','zenigame','fushigisou','lizardo','kamel','fushigibana','lizardon','kamex']
print(pokemon[:3]) # ได้ ['fushigidane', 'hitokage', 'zenigame']
print(pokemon[6:]) # ได้ ['fushigibana', 'lizardon', 'kamex']
print(pokemon[3:6]) # ได้ ['fushigisou', 'lizardo', 'kamel']
:
จะถูกรวมอยู่ในผลที่ได้ด้วย ในขณะที่สมาชิกทางขวาของ :
จะไม่ถูกรวม แต่จะรวมแค่จนถึงก่อนถึงตัวนั้น เช่น [2:5]
หมายถึงเอาแค่ 2,3,4
แต่ไม่ได้เอา 5
1
จะได้ผลลัพธ์เพียงตัวเดียว เช่น pokemon[3:4]
จะได้ 'fushigisou'
ตัวเดียวเช่นเดียวกับ pokemon[3]
['fushigisou']
ไม่ใช่แค่สายอักขระ 'fushigisou'
เฉยๆ แม้จะมีสมาชิกเพียงตัวเดียวก็ถือว่าเป็นลิสต์ หากจะเข้าถึง 'fushigisou'
ก็ต้องพิมพ์ [0]
ต่อท้ายอีกทีเป็น pokemon[3:4][0]
:
ตัวที่สอง แล้วมีเลขต่อท้ายอีกตัว เลขตัวนั้นจะเป็นเลขกำหนดขั้นว่าจะโดดข้ามทีละกี่ตัว
print(pokemon[::3]) # ได้ ['fushigidane', 'fushigisou', 'fushigibana']
print(pokemon[1:8:3]) # ได้ ['hitokage', 'lizardo', 'lizardon']
print(pokemon[2::3]) # ได้ ['zenigame', 'kamel', 'kamex']
pokemon[:6] = ['lugia','houou']
print(pokemon) # ได้ ['lugia', 'houou', 'fushigibana', 'lizardon', 'kamex']
pokemon[:2] = []
print(pokemon) # ได้ ['fushigibana', 'lizardon', 'kamex']
.append
โดยใส่อาร์กิวเมนต์เป็นตัวที่ต้องการเพิ่มเข้าไป
a = [1,6,44,78,231]
a.append(442)
print(a) # ได้ [1, 6, 44, 78, 231, 442]
.insert
โดยอาร์กิวเมนต์ตัวแรกเป็นตำแหน่งที่ต้องการแทรกแล้วค่อยตามด้วยสิ่งที่ต้องการแทรก
a.insert(3,49)
print(a) # ได้ [1, 6, 44, 49, 78, 231]
=
เพื่อแทรกลงไปในลิสต์ตรงช่วงที่ต้องการได้เช่นกัน
a[3:3] = [49]
print(a) # ได้ [1, 6, 44, 49, 78, 231]
b = ['ผ','ศ']
b[2:2] = ['ด','ร']
print(b) # ได้ ['ผ', 'ศ', 'ด', 'ร']
c = ['á','à','â','ä']
c = c + ['ã']
c += ['ā']
print(c) # ได้ ['á', 'à', 'â', 'ä', 'ã', 'ā']
c = ('ó','ò','ô','ö')
c = c + ('õ',)
c += ('ō',)
print(c) # ได้ ('ó', 'ò', 'ô', 'ö', 'õ', 'ō')
.remove
และ .pop
.pop
ใช้ลบสมาชิกออกจากลิสต์โดยระบุตำแหน่งของตัวที่ต้องการลบ เช่น
d = ['ú','ù','û','ü','ư','ủ','ũ','ū']
d.pop(4)
print(d) # ได้ ['ú', 'ù', 'û', 'ü', 'ủ', 'ũ', 'ū']
.pop()
เฉยๆจะเป็นการลบตัวสุดท้าย.remove
เป็นคำสั่งลบโดยระบุตัวที่ต้องการลบ
d.remove('ủ')
print(d) # ได้ ['ú', 'ù', 'û', 'ü', 'ũ', 'ū']
dd = ['u','u','a','u']
dd.remove('u')
print(dd) # ได้ ['u', 'a', 'u']
m = [['a','b','c'],['d','e','f'],['g','h','j'],['k','l']]
print(m[1]) # ได้ ['d', 'e', 'f']
print(m[1:3]) # ได้ [['d', 'e', 'f'], ['g', 'h', 'j']]
print(m[3]) # ได้ ['k', 'l']
print(m[1][2]) # ได้ f
print(m[1:3][1]) # ได้ ['g', 'h', 'j']
print(m[3][3]) # ได้ IndexError: list index out of range
ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ