:
แล้วตามด้วยค่า จากนั้นก็คั่นด้วยจุลภาค ,
แล้วตามด้วยคู่ถัดไปtueksung = {'มหานคร': 313, 'ใบหยก 2': 304, 'อมันตา ลุมพินี': 212,
'อื้อจือเหลียง': 160, 'จัตุรัสจามจุรี': 157, 'ใบหยก 1': 151}
[ ]
ซึ่งใส่ชื่อคีย์
print(tueksung['จัตุรัสจามจุรี']) # ได้ 157
print(tueksung['ใบหยก 2']) # ได้ 304
print(tueksung[1]) # ได้ KeyError: 1
pokemon = {151: 'mew',
152: 'chicorita', 153: 'bayleaf',154: 'meganium',
155: 'hinoarashi', 156: 'magmarashi',157: 'bakphoon',
158: 'waninoko',159: 'alligates', 160: 'ordile'}
print(pokemon[151]) # ได้ mew
0
khanaen = {'ฟิสิกส์':97,'ฟิสิกส์':91,'เคมี':96,'คณิตศาสตร์':87}
print(khanaen) # ได้ {'ฟิสิกส์': 91, 'เคมี': 96, 'คณิตศาสตร์': 87}
khanaen = {'ฟิสิกส์ 1':97,'ฟิสิกส์ 2':91,'เคมี 1':91,'เคมี 2':97}
print(khanaen) # ได้ {'ฟิสิกส์ 1': 97, 'ฟิสิกส์ 2': 91, 'เคมี 1': 91, 'เคมี 2': 97}
ฟิสิกส์ 1
ซ้ำกับ เคมี 2
และ เคมี 1
ซ้ำกับ ฟิสิกส์ 2
จะเห็นว่าสามารถซ้ำกันได้.keys
shenghui = {'กวางตุ้ง': 'กว่างโจว','เจ้อเจียง': 'หางโจว',
'เหลียวหนิง': 'เสิ่นหยาง','เหอเป่ย์': 'สือเจียจวาง',
'เหอหนาน': 'เจิ้งโจว','ฝูเจี้ยน': 'ฝูโจว',
'ทิเบต': 'ลาซ่า','ซินเจียง': 'อูหลู่มู่ฉี'}
print(shenghui.keys())
dict_keys(['กวางตุ้ง', 'เจ้อเจียง', 'เหลียวหนิง', 'เหอเป่ย์', 'เหอหนาน', 'ฝูเจี้ยน', 'ทิเบต', 'ซินเจียง'])
dict_keys
ซึ่งถือเป็นคลาสเฉพาะคลาสนึง ไม่สามารถเปลี่ยนแปลงแก้ไขค่าในนี้ได้เช่นเดียวกับทูเพิลin
เพื่อตรวจดูสมาชิกข้างในได้ สามารถแปลงเป็นลิสต์หรือทูเพิล หรือใช้ .join
เพื่อเชื่อมกันได้
'ไต้หวัน' in shenghui.keys() # ได้ False
'ทิเบต' in shenghui.keys() # ได้ True
{'เหอหนาน','เหอเป่ย์'}.issubset(shenghui.keys()) # ได้ True
{'เหอหนาน','เหอเป่ย์','หูหนาน','หูเป่ย์'}.intersection( shenghui.keys()) # ได้ {'เหอหนาน', 'เหอเป่ย์'}
print(tuple(shenghui.keys())) # ได้ ('กวางตุ้ง', 'เจ้อเจียง', 'เหลียวหนิง', 'เหอเป่ย์', 'เหอหนาน', 'ฝูเจี้ยน', 'ทิเบต', 'ซินเจียง')
print('|'.join(shenghui.keys())) # ได้ กวางตุ้ง|เจ้อเจียง|เหลียวหนิง|เหอเป่ย์|เหอหนาน|ฝูเจี้ยน|ทิเบต|ซินเจียง
.values
print(shenghui.values())
dict_values
ซึ่งก็มีคุณสมบัติเหมือนกับ dict_keys
dict_values(['กว่างโจว', 'หางโจว', 'เสิ่นหยาง', 'สือเจียจวาง', 'เจิ้งโจว', 'ฝูโจว', 'ลาซ่า', 'อูหลู่มู่ฉี'])
.items
print(shenghui.items())
dict_items
dict_items([('กวางตุ้ง', 'กว่างโจว'), ('เจ้อเจียง', 'หางโจว'), ('เหลียวหนิง', 'เสิ่นหยาง'), ('เหอเป่ย์', 'สือเจียจวาง'), ('เหอหนาน', 'เจิ้งโจว'), ('ฝูเจี้ยน', 'ฝูโจว'), ('ทิเบต', 'ลาซ่า'), ('ซินเจียง', 'อูหลู่มู่ฉี')])
.keys
, .values
และ .items
จะได้ผลเป็นลิสต์ แทนที่จะได้เป็นคลาสเฉพาะfor
กับดิกชันนารี ตัวแปรจะไล่ตามคีย์ ไม่ใช่ค่า
for s in shenghui:
print(s,end=' ') # ได้ กวางตุ้ง เจ้อเจียง เหลียวหนิง เหอเป่ย์ เหอหนาน ฝูเจี้ยน ทิเบต ซินเจียง
[ ]
for s in shenghui:
print(shenghui[s],end=' ') # ได้ กว่างโจว หางโจว เสิ่นหยาง สือเจียจวาง เจิ้งโจว ฝูโจว ลาซ่า อูหลู่มู่ฉี
.values
ก็สามารถไล่ตามค่าได้for v in shenghui.values():
print(v,end=' ') # ได้ กว่างโจว หางโจว เสิ่นหยาง สือเจียจวาง เจิ้งโจว ฝูโจว ลาซ่า อูหลู่มู่ฉี
.items
for v in shenghui.items():
print(v[0],v[1],sep='>',end=' ') # กวางตุ้ง>กว่างโจว เจ้อเจียง>หางโจว เหลียวหนิง>เสิ่นหยาง เหอเป่ย์>สือเจียจวาง เหอหนาน>เจิ้งโจว ฝูเจี้ยน>ฝูโจว ทิเบต>ลาซ่า ซินเจียง>อูหลู่มู่ฉี
=
เพื่อป้อนค่าใหม่ลงไปได้เลย phuenthi = {'นครราชสีมา': 20494, 'เชียงใหม่': 20107,
'กาญจนบุรี': 19483, 'ตาก': 16407,
'อุบลราชธานี': 15774, 'สุราษฎร์ธานี': 12891}
phuenthi['ชัยภูมิ'] = 12778
phuenthi['แม่ฮ่องสอน'] = 12681
print(phuenthi) # ได้ {'นครราชสีมา': 20494, 'เชียงใหม่': 20107, 'กาญจนบุรี': 19483, 'ตาก': 16407, 'อุบลราชธานี': 15774, 'สุราษฎร์ธานี': 12891, 'ชัยภูมิ': 12778, 'แม่ฮ่องสอน': 12681}
.update
เพื่อรับเอาข้อมูลจากดิกชันนารีอื่นมาก็ได้
phuenthi.update({'เพชรบูรณ์': 12668, 'ลำปาง': 12534})
print(phuenthi) # ได้ {'นครราชสีมา': 20494, 'เชียงใหม่': 20107, 'กาญจนบุรี': 19483, 'ตาก': 16407, 'อุบลราชธานี': 15774, 'สุราษฎร์ธานี': 12891, 'ชัยภูมิ': 12778, 'แม่ฮ่องสอน': 12681, 'เพชรบูรณ์': 12668, 'ลำปาง': 12534}
=
นั้นจะเป็นการเพิ่มข้อมูลก็ต่อเมื่อคีย์ที่ใส่ไปนั้นไม่มีอยู่เดิม แต่หากคีย์ที่ใส่ไปนั้นมีอยู่ก่อนแล้วจะเป็นการแก้ค่าเขียนทับลงไปใหม่แทนr = "Si schiudono i boccioli color di rosa. L'ostinato inverno ha annunciato la propria fine." # สายอักขระที่ต้องการวิเคราะห์
nap = {} # สร้างดิกชันนารีสำหรับเก็บค่าจำนวนของแต่ละตัวอักษร
for s in r.lower(): #เปลี่ยนให้เป็นตัวพิมพ์เล็กเพื่อจะนับรวมพิมพ์ใหญ่พิมพ์เล็กด้วยกัน
if(s<'a' or s>'z'): continue # เอาเฉพาะที่เป็นอักษรโรมัน a ถึง z ถ้าเจอสัญลักษณ์หรือช่องว่างให้ข้าม
if(s not in nap): # ถ้ายังไม่มีอยู่ในดิกชันนารี ให้ป้อนค่าใหม่โดยเริ่มนับ 1
nap[s] = 1
else: # ถ้ามีอยู่ในดิกชันนารีแล้ว ให้แก้ค่าโดยบวกเพิ่มอีก 1
nap[s] += 1
print(nap)
{'s': 4, 'i': 11, 'c': 5, 'h': 2, 'u': 2, 'd': 2, 'o': 12, 'n': 8, 'b': 1, 'l': 4, 'r': 5, 'a': 7, 't': 3, 'v': 1, 'e': 2, 'p': 2, 'f': 1}
sorted
for q in sorted(nap):
print('%s: %d'%(q,nap[q]))
for q in sorted(nap, key=r.lower().index):
print('%s: %d'%(q,nap[q]))
for
ได้f = {x:3*x+2 for x in range(100)} # สร้างฟังก์ชัน 3x+2 ที่มีโดเมนเป็นจำนวนเต็ม 0 ถึง 99
print('f(3)=%d'%f[3]) # ได้ f(3)=11
print('f(23)=%d'%f[23]) # ได้ f(23)=71
print('f(99)=%d'%f[99]) # ได้ f(99)=299
for
เพื่อวนเพิ่มค่าไปทีละค่า
f = {} # สร้างดิกชันนารีเปล่าขึ้นมาก่อน
for x in range(100):
f[x] = 3*x+2 # ใส่เพิ่มไปทีละค่า
.pop
แล้วระบุคีย์ที่ต้องการลบpython1 = {5966208114: 54, 5966100309: 59, 5966117558: 49,
5966209223: 62, 5966195674: 48, 5966119902: 43}
python1.pop(5966119902)
print(python1) # ได้ {5966208114: 54, 5966100309: 59, 5966117558: 49, 5966209223: 62, 5966195674: 48}
del
ก็ได้ del ชื่อดิกชันนารี[คีย์ที่ต้องการลบ]
del python1[5966195674]
print(python1) # ได้ {5966208114: 54, 5966100309: 59, 5966117558: 49, 5966209223: 62}
.clear
สมมุติว่านักศึกษาคนอื่นๆก็พากันถอนวิชานี้ออกหมด
python1.clear()
print(python1) # ได้ {}
del
ตามด้วยชื่อดิกชันนารีโดยไม่ต้องใส่คีย์del python1
print(python1) # NameError: name 'python1' is not defined
goban = {} # สร้างดิกเปล่า แทนตารางโกะเปล่า
goban['ดำ1'] = [16,4] # ฝ่ายดำลงหมากตาที่ 1
goban['ขาว1'] = [4,4]
goban['ดำ2'] = [16,16]
goban['ขาว2'] = [4,17]
goban['ดำ3'] = [3,15]
print(goban)
{'ดำ1': [16, 4], 'ขาว1': [4, 4], 'ดำ2': [16, 16], 'ขาว2': [4, 17], 'ดำ3': [3, 15]}
goban = {} # สร้างดิกเปล่า แทนตารางโกะเปล่า
goban[(16,4)] = 'ดำ1' # ฝ่ายดำลงหมากตาที่ 1
goban[(4,4)] = 'ขาว1'
goban[(16,16)] = 'ดำ2'
goban[(4,17)] = 'ขาว2'
goban[(3,15)] = 'ดำ3'
print(goban)
{(16, 4): 'ดำ1', (4, 4): 'ขาว1', (16, 16): 'ดำ2', (4, 17): 'ขาว2', (3, 15): 'ดำ3'}
x,y = int(input()),int(input()) # ป้อนค่าตำแหน่ง
if((x,y) in goban.keys()):
print(goban[(x,y)]) # ถ้ามีหมากอยู่ก็จะบอกว่าเป็นหมากอะไร
else:
print('ว่างเปล่า') # ถ้าไม่มีก็จะบอกว่าว่างเปล่า
[ ]
ซึ่งมีคีย์ใส่อยู่ซ้อนกันkhomun = {'ฟุชิงิดาเนะ': {'หมายเลข': '001','ส่วนสูง': 0.7,'น้ำหนัก': 6.9,'ชนิด':['พืช','พิษ']},
'ฮิโตคาเงะ': {'หมายเลข': '004','ส่วนสูง': 0.6,'น้ำหนัก': 8.5,'ชนิด':['ไฟ']},
'เซนิงาเมะ': {'หมายเลข': '007','ส่วนสูง': 0.5,'น้ำหนัก': 9.0,'ชนิด':['น้ำ']},
'พีคาชู': {'หมายเลข': '025','ส่วนสูง': 0.4,'น้ำหนัก': 6.0,'ชนิด':['ไฟฟ้า']}}
print(khomun['พีคาชู']['น้ำหนัก']) # ได้ 6.0
print(khomun['ฟุชิงิดาเนะ']['ชนิด']) # ได้ ['พืช', 'พิษ']
print(khomun['ฮิโตคาเงะ']['หมายเลข']) # ได้ 004
for
เพื่อแสดงค่าทั้งหมด
for pk in sorted(khomun):
print('===='+pk+'====') # แสดงชื่อ
for s in khomun[pk]:
if(s!='ชนิด'): print(s+': %s'%khomun[pk][s]) # แสดงหมายเลข, น้ำหนัก, ส่วนสูง
else: print(s+': '+' + '.join(khomun[pk][s])) # แสดงชนิด
====พีคาชู====
หมายเลข: 025
ส่วนสูง: 0.4
น้ำหนัก: 6.0
ชนิด: ไฟฟ้า
====ฟุชิงิดาเนะ====
หมายเลข: 001
ส่วนสูง: 0.7
น้ำหนัก: 6.9
ชนิด: พืช + พิษ
====ฮิโตคาเงะ====
หมายเลข: 004
ส่วนสูง: 0.6
น้ำหนัก: 8.5
ชนิด: ไฟ
====เซนิงาเมะ====
หมายเลข: 007
ส่วนสูง: 0.5
น้ำหนัก: 9.0
ชนิด: น้ำ
ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ