«Алгоритмдеу және бағдарламалау» пәнінен оқу тәжірибесі бойынша


Тізімнен сөздікке түрлендіру



бет25/64
Дата06.02.2022
өлшемі2,01 Mb.
#79582
1   ...   21   22   23   24   25   26   27   28   ...   64
Байланысты:
ПИТОН УМК

Тізімнен сөздікке түрлендіру
Тізім мен сөздік бір-біріне ұқсамайтын типтер құрылымы болғанымен, dict() кіріктірілген функциясының көмегімен тізімдерді сөздіктерге түрлендіруге болады. Ол үшін тізімді кіріктірілген тізімдер жиыны болуы керек. Әр кіріктірілген тізім екі элементтен тұруы тиіс - сөздікке конвертация кезінде бірінші элемент кілтке, ал екінші элемент - мәнге айналады:



users_list = [
["+111123455", "Tom"],
["+384767557", "Bob"],
["+958758767", "Alice"]
]
users_dict = dict(users_list)
print(users_dict) # {"+111123455": "Tom", "+384767557": "Bob", "+958758767": "Alice"}

Осындай әдіспен екі өлшемді сөздіктерді де сөздікке айналдыруға болады:

users_tuple = (
("+111123455", "Tom"),
("+384767557", "Bob"),
("+958758767", "Alice")
)
users_dict = dict(users_tuple)
print(users_dict)

Элементтерді алу және өзгерту
Сөздіктің элементтеріне қатынау үшін кілтті қолдану керек:
Мысалы, сөздіктегі элементке қатынап, оны өзгертейік:

users = {
"+11111111": "Tom",
"+33333333": "Bob",
"+55555555": "Alice"
}
# кілті "+11111111" элементті аламыз
print(users["+11111111"]) # Tom
# "+33333333" кілтті элементке мән береміз
users["+33333333"] = "Bob Smith"
print(users["+33333333"]) # Bob Smith

Элемент мәнін бергенде ондай кілті бар элемент сөздікте болмаса, онда ол жаңадан қосылады.

users["+4444444"] = "Sam"

Алайда егер біз сөздікте жоқ кілтті мәнді алғымыз келсе, Python KeyError қатесін шығарады.
user = users["+4444444"] # KeyError
Бұл жағдайдың алдын алу мақсатынжа, кілттің сөздікте бар-жоғын алдын-ала тексеріп алу үшін кілт in сөздік өрнегін қолданамыз.

key = "+4444444"
if key in users:
user = users[key]
print(user)
else:
print("Элемент табылған жоқ")

Элементтерді алу үшін get әдісі қолданылады, оның екі формасы бар:
get(key): сөздіктен key кілті бар элементті қайтарады. Егер ондай кілті бар элемент жоқ болса, онда None мәнін қайтарады.
get(key, default): сөздіктен key кілті бар элементті қайтарады. Егер ондай кілті бар элемент жоқ болса, онда default мәнін қайтарады.

key = "+55555555"
user = users.get(key)
user = users.get(key, "Unknown user")



Достарыңызбен бөлісу:
1   ...   21   22   23   24   25   26   27   28   ...   64




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет