PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... ·...

38
PYTHON LANGUAGE - LIST - TUPLES - DICTIONARY

Transcript of PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... ·...

Page 1: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

PYTHON LANGUAGE - LIST

- TUPLES - DICTIONARY

Page 2: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

LIST

DICTIONARY

TUPLES

Page 3: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

ลสต คอชนดขอมลทหลากหลายมากทสดทมอยในไพธอน ซงสามารถเขยนเปน

ลสตของคา นนๆคนดวยเครองหมายจลภาค ( , ) และอยภายในวงเลบ [ ]มคาเรมตนท

ดชนเทากบ 0 ขอดของลสตในไพธอนคอในลสตหนงนนไมจาเปนตองมขอมลทเปน

ชนดเดยวกน

ตวอยาง list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, "a", "b"];

Page 4: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

ในการเขาถง คาในลสตใชวงเลบ [] พรอมกบดชน เพอใหไดคาทมอยในลสต ณ

ดชนนน

เราสามารถใชเครองหมายบวก(+)ในการนาสายอกขระมาตอกนกอนแสดงผลและ

ใชเครองหมายดอกจนทร (*) ในการทาซ าขอมลตามจานวนครงทกาหนด

list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, "a", "b"];

print "list1[0]: ", list1[0]; list1[0]: physics

print list1 + list2; Print list2 * 2; ['physics', 'chemistry', 1997,2000,1, 2, 3, 4, 5, "a", "b"] [1, 2, 3, 4, 5, "a", "b", 1, 2, 3, 4, 5, "a", "b"]

Page 5: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

list2 = [1, 2, 3, 4, 5, "a", "b"]; print "list2[1:5]: ", list2[1:5]; list2[1:5]: [2, 3, 4, 5] print "list2[2:]: ", list2[2:]; list2[2:]: [3, 4, 5, "a", "b"]; print "list2[-2]: ", lis1[-2]; list2[-2]: a

การแสดงผลแบบอนๆ

Page 6: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

เราสามารถแกไขขอมลและลบขอมลภายในลสตไดโดยวธงายๆ โดยการลบนน

จะสามรถเรยกใชฟงกชน del แลวตามดวยคาดชนในลสตนนทเราจะลบ

ตวอยาง list1 = ['physics', 'chemistry', 1997, 2000]; print "Value available at index 2 : ", list1[2]; list1[2] = 2001; print "New value available at index 2 : ",list1[2]; del list1[2]; print list1; ผลลพธ Value available at index 2 : 1997 New value available at index 2 : 2001 ['physics', 'chemistry', 2000]

Page 7: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

1. cmp(list1, list2) เปนฟงกชนใชสาหรบเปรยบเทยบ องคประกอบของทงสองลสต โดยเปรยบเทยบ

แบบตวตอตว คอ นาตวแรกของทง 2 ลสตมาเปรยบเทยบกน ถาคาเทากนกจะใชตวถดไป มาเปรยบเทยบจนกวาจะ

เจอคาทตางกนกจะสงคากลบมา

ถา List1 > List2 จะสงคากลบมาเปน 1

ถา List 1 < List2 จะสงคากลบมาเปน -1

ถา List1 == List2 จะสงคากลบมาเปน 0

โดยทตวเลขจะมคานอยกวาตวอกษร และ a จะมคานอยกวา b-z เรยงตามลาดบไป ถงแมวาเปน String แลว

จานวนตวอกษรนนเยอะกวากไมมผล เชน “z” จะมคามากกวา “aaaaa” เปนตน และ อกษรพมพเลกมคามากกวา

อกษรพมพใหญ ดงตวอยาง

list1 = ['z','x','y']; list2 = ['aaaa','z','x','y']; print cmp(list1,list2) ## 1 list1 = ['a',0,687,9]; list2 = ['A',0,687,9]; print cmp(list1,list2) ## 1

Built‐in List Functions & Methods

list1 = [0,687,9]; list2 = [1]; print cmp(list1,list2); ## -1

list1 = ['a',0,687,9]; list2 = [‘a',0,687,9]; print cmp(list1,list2) ## 0

Page 8: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

2. len(list) เปนฟงกชนใชสาหรบนบจานวนคาทอยในลสต ซงฟงกชนจะสงคา

กลบมาเปนจานวนของคาทมอยในลสต ดงตวอยาง

list1 = [123, 'xyz', 'zara'] list2 = [456, 'abc'] print "First list length : ", len(list1); print "Second list length : ", len(list2); First list length : 3 Second list length : 2

Page 9: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

3. max(list) , min(list) เปนฟงกชนสาหรบหาคาทมากทสดและนอยทสดทอยใน

ลสตนน แลวฟงกชนจะสงคานนกลบมา

list1 = [123, 'xyz', 'zara', 'abc'] ;

list2 = [456, 700, 200];

print "Max value element : ", max(list1);

print "Max value element : ", max(list2);

print "Min value element : ", min(list1);

print "Min value element : ", min(list2);

Max value element : zara

Max value element : 700

Min value element : 123

Min value element : 200

Page 10: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

4. list(seq) เปนฟงกชนสาหรบแปลง Tuples ใหกลายเปนลสต

aTuple = (123, 'xyz', 'zara', 'abc');

aList = list(aTuple);

print "List elements : ", aList;

List elements : [123, 'xyz', 'zara', 'abc']

Page 11: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

นอกจากนยงมเมธอดอนๆของลสตทเราสามารถเรยกใชไดอกคอ 1. list.append(obj) เปนเมธอดทใชสาหรบเพมวตถเขาไปตอทายในลสตนน ดงตวอยาง

list1 = ["physics", 1997, 2000] list2 = [0, 2, 3, 0, 5, "a", "b"] list1.append(list2) print list1

['physics', 1997, 2000, [0, 2, 3, 0, 5, 'a', 'b']]

Page 12: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

2. list.extend(seq) เปนเมธอดทใชสาหรบเพมคาเขาไปตอทายในลสตนนคลายๆกบ

list.append(obj) แตตางกนท extend ไมไดมองขอมลทเพมเขาไปเปนแบบวตถ แตจะเพม

เขาไปแบบเปนสมาชกในลสตนน ดงตวอยาง

list1 = ["physics", 1997, 2000]

list2 = [0, 2, 5, "a", "b"]

list1.append(list2)

list1.extend(list2)

print list1

['physics', 1997, 2000,[0, 2, 5, 'a', 'b'], 0, 2, 5,'a','b']

Page 13: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

3. list.count(obj) เปนเมธอดทใชสาหรบนบวามคาทเทากบวตถนอยกคา ดงตวอยาง

list1 = ["physics", 'chemistry', 1997, 2000]

list2 = [0, 2, 3, 0, 5, "a", "b"]

print list2.count(0)

print list1.count(list2)

2

0

Page 14: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

4. list.index(obj) เปนเมธอดทใชสาหรบหาคาตาแหนงของวตถในลสตนนๆโดยจะสงคา

กลบมาเปนคาตาแหนงทวตถนนอยโดยเรมทตาแหนงแรกเปน 0 ถามวตถทหามากกวา 1 วตถในลสต

เมธอดจะสงคากลบมาโดยเปนคาตาแหนงทเจอตาแหนงแรก แตถาไมพบวตถนนในลสต โ ปรแกรมจะ

เกด error ดงตวอยาง

list1 = ["physics", 'chemistry', 1997, 2000]

list2 = [0, 2, 3, 0, 5, "a", "b"]

print list1.index("chemistry") ## 1

print list2.index(5) ## 4

print list2.index(0) ## 0

print list2.index(10) ## ValueError: 10 is not in list

Page 15: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

5. list.insert(index, obj) เปนเมธอดสาหรบใสวตถลงไปในลสตนน โดยใสคา

ตาแหนงทตองการเพมกบวตถทตองการเพมลงไป โดยวตถนนสามารถเปนลสตได ดง

ตวอยาง

list2 = [0, 2, 3, 4, 5, "a", "b"]

list1 = [1,5,7,9,11]

list2.insert(1,list1)

print list2

[0, [1, 5, 7, 9, 11], 2, 3, 4, 5, 'a', 'b']

Page 16: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

6. list.pop(obj=list[-1]) เปนเมธอดสาหรบลบคาทางขวาสดของลสตออก คอ ถามอง

เปน stack นนกคอการลบคาบนสดออกนนเอง ดงตวอยาง

list2 = [0, 2, 3, 4, 5, "a", "b"]

print list2

list2.pop()

print list2

[0, 2, 3, 4, 5, 'a', 'b']

[0, 2, 3, 4, 5, 'a']

Page 17: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

7. list.remove(obj) เปนเมธอดทใชลบคาในลสต โดยการรบคาของวตถนนแลวนาไป

หาภายในลสตถาเจอคาทตรงกนกจะลบคานนออก ถาไมเจอวตถนน จะเกด error ขน ดง

ตวอยาง

list2 = [0, 2, 3, 4, 5, "a", "b"]

list2.remove(0)

print list2

list2.remove(1)

[2, 3, 4, 5, 'a', 'b']

ValueError: list.remove(x): x not in list

Page 18: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

8. list.reverse() เปนเมธอดทใชกลบลสตจากตาแหนงแรกเปนตาแหนงสดทาย

ตาแหนงสดทายมาเปนตาแหนงแรก โดยเรยงลาดบกนไป ดงตวอยาง

list2 = [0, 2, 3, 4, 5, "a", "b"]

print list2

list2.reverse()

print list2

[0, 2, 3, 4, 5, 'a', 'b']

['b', 'a', 5, 4, 3, 2, 0]

Page 19: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

9. list.sort([func]) เปนเมธอดสาหรบเรยงคาในลสตจากนอยไปมากโดยทคาตวเลขจะมากอน

ตวอกษร แตถาเปนวตถจะอยหลงตวเลขแตกอนตวอกษร และ ตวอกษรพมพเลกมคามากกวาตวอกษร

พมพใหญ ดงตวอยาง

list1 = [0, 2, "A", "B", 'chemistry', 1997, 2000,[5,"5555"]]

print list1

list1.sort()

print list1

[0, 2,'A', 'B', 'chemistry', 1997, 2000, [5, '5555']]

[0, 2, 1997, 2000, [5, '5555'], 'A', 'B','chemistry']

Page 20: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

LIST

DICTIONARY

TUPLES

Page 21: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

ทเพล คอชนดขอมลทมความคลายคลงกบลสต จะแตกตางกนทลสตอยภายใน [ ]

และสามารถเพมเตมหรอแกไขขอมลหรอขนาดได แตทเพลมการประกาศคาอยใน

วงเลบ () และไมสามารถเปลยนแปลงขอมลภายในได

ตวอยาง

tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5, "a", "b");

Page 22: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

ในการเขาถง คาในทเพล ใชวงเลบ [] พรอมกบดชน เพอใหไดคาทมอยในทเพล ณ ดชนนน

tup1 = (12, 34.56,789,10); tup2 = ('abc', 'xyz','pl','su');

ตวอยาง

print tup1[0]; print tup1[1:5]; print tup2[2:]; print tup1[-2]; ผลลพธ

12 (34.56, 789, 10) ('pl', 'su') 789

Page 23: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

นอกจากน เราสามารถใชเครองหมายบวก(+)ในการนาสายอกขระมาตอกนกอน

แสดงผลและใชเครองหมายดอกจนทร (*) ในการทาซ าขอมลตามจานวนครงทกาหนด

ในการแสดงผล

tup1 = (12, 34.56,789,10); tup2 = ('abc', 'xyz','pl','su');

ตวอยาง

print tup1 * 2; print tup1+tup2 ผลลพธ

(12, 34.56, 789, 10, 12, 34.56, 789, 10) (12, 34.56, 789, 10, 'abc', 'xyz', 'pl', 'su')

Page 24: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

ทเพลไมสามารถแกไขขอมลภายในไดเหมอนกบลสต ถาจะแกไขขอมลไดมทางเดยวคอ

ตองประกาศ ทเพลใหมมารองรบ

และทเพลไมสามารถลบขอมลในทเพลแบบระบตาแหนงได จะลบไดกคอตองลบ

ทงทเพล

ตวอยาง

tup1 = (12, 34.56,789,10); tup2 = ('abc', 'xyz','pl','su'); tup3 = tup1 + tup2; print tup3; ผลลพธ

(12, 34.56, 789, 10, 'abc', 'xyz', 'pl', 'su')

Page 25: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

Built-in Tuple Functions

มฟงกชน cmp(tup1,tup2) , len(tuple) , max(tuple) , min(tuple)

เหมอนในลสตแตจะมฟงกชน ทไมเหมอนลสตคอ tuple(seq) เปนฟงกชนสาหรบ

แปลงลสตใหกลายเปนทลเพล ดงตวอยาง

aList = [123, 'xyz', 'zara', 'abc'];

aTuple = tuple(aList)

print "Tuple elements : ", aTuple

uple elements : (123, 'xyz', 'zara', 'abc')

Page 26: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

LIST

DICTIONARY

TUPLES

Page 27: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

ตวแปร dictionary หรอบางครงเราเรยกสนๆ วาตวแปร dict เปนตวแปร ทอางอง

ขอมลของสมาชกยอยดวยชอ (associate array) ตวแปร dict เปนตวแปรทคาภายในของ

มน สามารถเปลยนแปลงได (ซงตรงกนขามกบตวแปร tuple)

การประกาศตวแปร dict และการอางถงสมาชกในตวแปร dict

ตวอยาง mydict = {}

mydict = {'nickName':'ProLang','age':99

print mydict['age']

print mydict['nickName']

print type(mydict)

ผลลพธ

99

ProLang

<type 'dict'>

Page 28: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

การอพเดทคา และการเพมคาลงในตวแปร dict

ตวแปร dict เปนตวแปรทเราสามารถเพมคาสมาชกได แตชอทอางถงตองไมซ ากบชอ

เกาทมอยแลว ไมเชนนนจะเปนการเปลยนแปลงคา แทนทจะเปนการเพม สงเกตจาก

ตวอยางตอไปน

ตวอยาง

mydict = {'nickName':'ProLang','age':99}

print mydict

mydict['phone'] = '0888888888'

print mydict

ผลลพธ

{'age': 99, 'nickName': 'ProLang'}

{'phone': '0888888888', 'age': 99, 'nickName': 'ProLang'}

Page 29: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

การลบคาในตวแปร dict

การลบคาในตวแปร dict เราสามารถทาไดสองวธ

วธแรก เรากใชคาสง del คาในตวแปร dict ทจบคกนอยไดเลย

ตวอยาง

myDict = {'name':'hello','lastname':'world','age':36,'mobile':'081099999'}

>>> del myDict['mobile']

>>> print myDict

{'lastname': 'world', 'age': 36, 'name': 'hello'}

Page 30: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

วธทสอง เราใชเมธอด clear ในการลบคาในตวแปร dict ตวนนทงหมด

ตวอยาง

myDict = {'name':'hello','lastname':'world','age':36,'mobile':'081099999'}

>>> myDict.clear()

>>> myDict

Page 31: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

นอกจากน ยงมเมธอดทสาคญๆทมาพรอมกบตวแปร dict ทมกใชงานบอยๆ ดงน

1. dict.keys() ใชสาหรบดงคา key ทอยในตวแปร dict

myDict = {'age': 36, 'lastname': 'world', 'mobile': '081099999', 'name': 'hello'}

>>> myDict.keys()

['mobile', 'lastname', 'age', 'name']

2. dict.get(key,default=None) ใชสาหรบดงคาจาก key ทเรากาหนด ถาไมมอยจรง เราสามารถ

กาหนดเปนอยางอนได เชน

>>> myDict.get('name',None) ## 'hello'

>>> myDict.get('sex',None)

>>> myDict.get('sex','No value') ## No value'

Page 32: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

3. dict.has_key(key) ใชสาหรบเชความ key ทกาหนดหรอไม จะใหคา true หรอ

false กลบมา แลวแตกรณ เชน

myDict = {'age': 36, 'lastname': 'world', 'mobile': '081099999', 'name': 'hello'}

>>> myDict.has_key('name') ## True

>>> myDict.has_key('sex') ## False

4. dict.values() ดงเฉพาะคาทงหมดออกมาจากตวแปร dict ไมเอา key เชน

>>> myDict.values()

['081099999', 'world', 36, 'hello']

Page 33: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

5. dict.items() ดง key และคาของ key นนๆ จบคกนออกมาในรปแบบตวแปร list ซง

เปนคา tuple ซอนอยอกท ตวอยางเชน

myDict = {'age': 36, 'lastname': 'world', 'mobile': '081099999', 'name': 'hello'}

>>> myDict.items()

[('mobile', '081099999'), ('lastname', 'world'), ('age', 36), ('name', 'hello')]

>>> mylist = myDict.items() # สรางตวแปร มารบคา

>>> mylist

[('mobile', '081099999'), ('lastname', 'world') , ('age', 36), ('name', 'hello')]

>>> mylist[0][0] #แสดงคาทอยในตวแปร list

'mobile'

Page 34: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

6. dict.fromkeys(seq[,value]) เราสามารถสรางตวแปร dict โดยกาหนดคา Key จาก

ขอมลทอยในรป sequence (list , tuple) ได เชน

>>> seq = ['url','domain','server']

>>> newDict = dict.fromkeys(seq)

>>> newDict

{'domain': None, 'server': None, 'url': None}

โดยเราสามารถกาหนดคา value ลงไปเลย หรอจะไมกาหนดลงไปกได แตถาไมกาหนดลงไป มนจะ

ใหมคาเปน None ไวกอน แตถาหากกาหนดลงไป เราสามารถทาได ดงน

>>> newDict2 = dict.fromkeys(seq,'xxx')

>>> newDict2

{'domain': 'xxx', 'server': 'xxx', 'url': 'xxx'}

Page 35: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

7. dict.copy() ชวยใหเรา copy คาตวแปร dict ใหมคาเหมอนกนได เชน

>>> dict1 = {'name':'xxx','value':10}

>>> dict2 = dict1.copy()

>>> dict2 # {'name': 'xxx', 'value': 10} มนตางจากวธ dict2 = dict1 ตรงท การเปลยนแปลงท dict1 จะไมสงผลให dict2 เปลยนแปลงตามไป

ดวย เรามาดวาจะเกดไรขน หากเรา ไมใช dict.copy()

>>> dict3 = dict1

>>> dict3 # {'name': 'xxx', 'value': 10}

>>> dict1['name'] = 'zzzz'

>>> dict3['name'] # ‘zzzz‘ จะเหนวาคาใน key 'name' ของ dict3 ถกเปลยนแปลง

Page 36: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

8. dict.update(dict2) เราสามารถอพเดทคาทอยใน dict ได เมอ key ทอยใน dict2

ตรงกบ key ทอยใน dict ตรงกน เชน

>>> dict1 # {'name': 'xxxx', 'value': 10}

>>> dict2 # {'name': 'kkkkk', 'value': 10}

>>> dict1.update(dict2)

>>> dict1 # {'name': 'kkkkk', 'value': 10}

แตถาคา key ไมตรงกน จะเปนการเพมคาคใหมลงไปใน dict เชน >>> dict1 # {'name': 'kkkkk', 'value': 10}

>>> dict4 = {'option': 200}

>>> dict4.update(dict1)

>>> dict4 # {'name': 'kkkkk', 'option': 200, 'value': 10

Page 37: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

9. dict.setdefault(key, default=None) เหมอนๆ กบคาสง dict.get(key,default=None) ตางกน

ตรงท ถามนหา key ทเราตองการไมเจอ มนจะเตม key นนให และกาหนดคา default ทเราตองการไปใหทนท

สงเกตดจากตวอยาง

>>> dict4 {'name': 'kkkkk', 'option': 200, 'value': 10}

>>> dict4.setdefault('sex','Male') 'Male'

>>> dict4 {'name': 'kkkkk', 'option': 200, 'sex': 'Male', 'value':

10}

ถาเราใชคาสง dict4.get('sex','Male') จะไมปรากฏคของ sex เพมใน dict4

>>> dict4 {'name': 'kkkkk', 'option': 200, 'value': 10}

>>> dict4.get('sex','Male') 'Male'

>>> dict4 {'name': 'kkkkk', 'option': 200, 'value': 10}

Page 38: PYTHON LANGUAGE LIST TUPLES DICTIONARYwebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/... · เป็นเมธอดที่ใช้สําหรับเพิ่มค่าเข้าไปต

1. นาย ธรวฒน สาลคา รหสนกศกษา 07550445 (Dict.)

2. นาย ปกรณ นชเจรญ รหสนกศกษา 07550450 (List , Tuple)

3. นาย วรพงษ ภระยา รหสนกศกษา 07550465 (List,Tuple)