Bản sao của dictionary_nocopy_quuqwru.pdf

kiencoclam 10 views 21 slides Sep 11, 2025
Slide 1
Slide 1 of 21
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21

About This Presentation

qửqwrqwr


Slide Content

en | =

1 28TECH.COMVN EC

28TECH

Become A Better Developer

Dictionaries là möt cáu trüc dû liéu thuóc dang associative
array hay hashmap.

Ban có thé tuóng tuong dict (viét tat) lá möt cau trúc dû liéu
má möi phan tur cúa nó sé là mét anh xa tir mot khóa (key)
sang möt gia tri tuong tng (value).

Values

'28tech'

28TECH.COM.UN 5

28TECH

Become A Better Developer

Dé tao dict ban liét ké cäc cáp key:value phan cách nhau bdi dau phäy va dat
gitra dong m6 ngoác nhon. Môi cap key:value duoc dat cach nhau dau :

Tao dict luu thóng tin

infor = {
"name" "28tech',
OD dev
'salary' : 500,
web" "28tech.com.vn',
"city" "HOM"

28TECH.COM VN ©

28TECH

Become A Better Developer

1. Tao dict:

Tao dict bang dict() constructor

Ban có thé tao ra dict bang cach convert cap 2 gia tri thanh möt item
cua dict, khi do gia tri thú nhát lam key, gia tri thú 2 lam value.

[['name', '28tech'], ['job', ‘dev'], ('web', '28tech.com.vn')]
dict(a)
print(b) OUTPUT

28TECH.COMN Sc}

28TECH

Become A Better Developer

Tao dict bang ham zip() Tao dict bang ham fronkey

= ['name', 'job', 'web'] ce & al) c']
['28tech', 'dev', '28tech.com.vn'] defaultValue = @
dict(zip(a, b)) b = dict.fromkeys(a, defaultValue)
print(c) print(b) OUTPUT
OUTPUT

(name: '28tech', ‘job’: ‘dev’, 'web': '28tech.com.vn')

28TECH.COM.VN

28TECH

Become A Better Developer

($ Key trong dict lá duy nhát: Dict khóng thé chúa 2 key gióng nhau, trong
trudng hop ban gan nhiéu value cho cüng 1 key thi dict sé git lai value
cudi cüng ban gan cho key dé.

a = {'name' : '28tech', 'job' : ‘dev', ‘name’ : '27tech')
print(a)
OUTPUT

28TECH

Become A Better Developer

($ Key phái lá object khóng thé thay dói (immutable): Ban có thé lua chon
tuple, str, int... lam key con value có thé lá bat ki object nao.

a = {(1, 2) : 'abc', 'name' : '28tech', 3 : 4}
print(a) OUTPUT
{(1, 2): ‘abc’, 'name': '28tech', 3: 4}

a = {[1, 2] : 'abc', 'name' : '28tech', 3 : 4}

Bath) OUTPUT

TypeError: unhashable type: ‘list’

28TECH

Become A Better Developer

($ Dé truy cap value thóng qua key ta dung cu pháp : dict[key], tuy nhién
néu ban str dung möt gid tri khóng phai là key trong dict sé dan den lôi.

"28tech',
"dev',
500, OUTPUT
28tech.com.vn', 28tech
28ter

print(infor['name'])
print(infor['web'])

28TECH

Become A Better Developer

Dé tránh xáy ra lôi khi truy cap vao mét key khöng nam trong dict các
ban có thé str dung ham get(), ham nay sé tra vé None néu key ban truy
cap khóng nam trong dict.

infor = {
‘name’ "28tech',
job devas
"salary 500, OUTPUT

'web' : 8tech.com.vn', 28tech
‘city’ : "HCM' None
}

J
print(infor.get('name'))
print(infor.get('address'))

28TECH

Become A Better Developer
4.Duyét dict():

Lay key, value, item trong list: Ban có thé sur dung phuong thúc keys(),
values(), items() trong dict dé lay vé bô key, value, hoác items() trong dict. 3
phuong thúc nay déu tra vé iterable object, ban có thé convert nó sang list.

ist(infor.keys())
ist(infor.values())
c = list(infor.items())
print(a)
print(b)
print(c)

2BTECH.COMLUN Sc}

28TECH

Become A Better Developer

for x in infor:
print(x, end = ' '

OUTPUT

name job salary web city

28TECH
Become A Better Developer

4. Duyét dict():

12

infor = {
‘name’ : '28tech',
"job' : ‘dev',
‘salary’ : 500,
'web' : '28tech.com.vn',
"city" : 'HCM'
}
for x in infor:
print(x, infor[x], sep = '->')

OUTPUT

name->28tech
job>dev

salary->500
web->28tech.com.vn
city->HCM

Duyêt cac cap key, value trong dict

infor = {
*name' : '28tech',
"Job : “dev”,
‘salary’ : 500,
'web' : ‘28tech.com.vn',
"city" : 'HCM'

}

for (key, value) in infor.items():
print(key + '->' + str(value))

OUTPUT

name->28tech
job->dev
salary->500
web->28tech.com.vn
city->HCM

28TECH.COM.UN 5

28TECH

Become A Better Developer

"name' : '28tech',

oi : ‘dev’, OUTPUT

‘salary 500,

"web" "28tech.com.vn', u
JC "HCM' 500

» 28tech.com.vn

for x in infor.values(): HCM
print(x)

28TECH

Become A Better Developer

5. Thém va sta dict:

key:value vao dict ban str dung cú pháp dict[key] = value. Néu
key dá nam trong dict thi cau lénh trén sé cap nhät value mdi cho key.

Thay döi gia tri cua value

Thém item thóng qua key

infor = { infor = {
'name' : '28tech', ‘name’ : '28tech',
aa e “EY "job' : ‘dev',
}
infor['web'] = '28tech.com.vn' infor['name'] = '27tech'
print(infor) print(infor)

OUTPUT OUTPUT
{name’: '28tech‘, job‘: ‘dev’, web’: '28tech.com.vn) (name: '27tech', job’: 'dev'}

28TECH.COM.UN 5

28TECH

Become A Better Developer

Xóa phan tú théng qua key bang Néu ban khéng cán gia tri value cúa item
can xóa ban có thé str dung ham del.

‘dev’,
'28tech.com.vn' 'web' : '28tech.com.vn'

}
infor.pop('job') del infor['job']
print(infor) print(infor)

OUTPUT OUTPUT

{name': '28tech’, ‘web’: "28tech.com.v {name': '28tech’, ‘web’: '28tech.com.vn)

28TECH

Become A Better Developer

Xa phan tú ngâu nhién bang
ham popitem().
mT }
infor = {
‘name’ : '28tech',
"job" *dev',
"web" "28tech.com.vn'
}
a = infor.popitem()
print(a)
print(infor)
OUTPUT

(web', '28tech.com.vn’)

O) str dung ham clear() dé xóa moi
A phán tú trong dict.

'28tech',
‘dev',
8tech.com.vn'

infor.clear()
print(len(infor))

OUTPUT

28TECH

Become A Better Developer

Cac ban có thé str dung toän tur in dé
kiém tra su tón tai cua mót key hoác
„yYalue nao dö trong dict.

"28tech.com.vn'

print('job' in infor)
print('28tech' in
infor. values())

OUTPUT

True
True

28TECH.COM.VN

28TECH

Become A Better Developer

(3) Dé trón 2 dict vói nhau ban có thé str dung ham update().

ab
"name" '28tech',
‘job’ : "dev

= {'web' : ‘28tech.com.vn', ‘salary’ : 500}

.update(b)

or key, value in a.items():

print(key, value) OUTPUT
name 28tech
job dev
web
28tech.com.vn

salary 500

28TECH.COM.VN $;

28TECH

Become A Better Developer

9. Mot só vi du vói dict:

19

Vói dict ban có thé str dung váo nhüng bai toán lien q
dém, dánh dat

Dém tan suát xuát hién cua Tim tir xuát hién nhiéu nhát trong cáu,

néu có nhiéu tir có cüng só län xuát hién

phán tú trong máng thi in ra tir cé thar ty ir dien nhé nhát.

a = [1, 3, 2, 1, 2, 3, 1, 0] s = "28tech 28tech abc abc python c++ java"
d = dict({}) d = dict({})
for x in a : OUTPUT for x in s.split():
if x in d: if x in d: d[x] += 1
d[x] += 1 else: d[x] = 1
else: b = list(d.items())
d[x] = 1 b.sort(key = lambda x : (-x[1], x[0]))
for val, fre in d.items(): print(b[@][@], b[@][1]) SGEN

print(val, fre)
28tech 2

28TECH.COM.UN 5

28TECH

Become A Better Developer

10. Dict comprehension:

wong tu nhu list comp, dict comp là mót cach gon nhe giúp tao ra mót
ict giúp code cúa ban chuán Pythonic hon.

CU PHAP: (key : value for var in iterable}

for x in a: .
d1fx] = We 8 2 3 op xe ms}
print(d)
#dict comp
d2 = {x : x ** 2 for x in a} OUTPUT
print(d1)
print (d2) OUTPUT

28TECH.COMN Sc}

28TECH

Become A Better Developer

= ["28tech", "PyThon", "JaVA", "C++"] OUTPUT
= {x.lower() : x.upper() for x in s} 28tech 28TECH
key, val in d.items(): python PYTHON

java JAVA

print(key, val)
C++ C++

s = {'job' : 'dev', 'name' : '28tech', 'web' : '28tech', ‘salary’
selected = ['name', 'job']

d = {x : s[x] for x in selected} OUTPUT
print(d)

: 500)
Tags