Junior — Middle
Таврии асосии фарқиятҳо байни сохторҳои додаҳои рӯйхат ва луғат дар Python чист?
sobes.tech AI
Ҷавоб аз AI
Асосӣ фарқиятҳо байни list ва dict дар Python:
-
Навъи маълумот:
list— рӯйхати тартибдодашуда ва тағйирёбанда аз унсурҳо, индексгузорӣ бо рақамҳои бутун.dict— ҷамъоварии номуайян (аз Python 3.7 ба баъд — тартибдодашуда бо воридшавӣ) аз ҷуфтҳои калид-арзиш.
-
Дастрасӣ ба унсурҳо:
- Дар
list, дастрасӣ тавассути индекс:my_list[0]. - Дар
dict, дастрасӣ тавассути калид:my_dict['калид'].
- Дар
-
Мақсад:
listбарои нигоҳдории пайдарпайи тартибдодашудаи унсурҳо истифода мешавад.dictбарои нигоҳдории маълумот бо дастрасии зуд тавассути калидҳои беназири он.
-
Камбудиҳо:
- Ҷустуҷӯ тавассути индекс дар
list— O(1). - Ҷустуҷӯ тавассути арзиш дар
list— O(n). - Ҷустуҷӯ тавассути калид дар
dict— дар миёна O(1).
- Ҷустуҷӯ тавассути индекс дар
Масалан:
my_list = [10, 20, 30]
print(my_list[1]) # 20
my_dict = {'a': 1, 'b': 2}
print(my_dict['b']) # 2
Аз ин рӯ, интихоби байни list ва dict ба вазифа вобаста аст: оё ба шумо маҷмӯаи тартибдодашуда ё дастрасии зуд тавассути калид лозим аст?