3. දත්ත ව්‍යුහ (Data Structures)

පාඩම 3.3: ශබ්දකෝෂ (Dictionaries)

ලැයිස්තු සහ ටපල් වලදී දත්ත ලබාගැනීමට දර්ශක (index: 0, 1, 2...) භාවිතා කළා. නමුත් ශබ්දකෝෂයකදී දත්ත ගබඩා කරන්නේ සහ ලබාගන්නේ **යතුරක් (key)** සහ ඊට අදාළ **අගයක් (value)** ලෙසයි. මෙය key-value pair එකක් ලෙස හැඳින්වේ.

ශබ්දකෝෂයක් යනු වෙනස් කළ හැකි (changeable) දත්ත එකතුවකි. ඒවා නිර්මාණය කරන්නේ දඟර වරහන් {} භාවිතා කරමිනි.

ව්‍යුහය (Syntax): { "key1": value1, "key2": value2 }

උදාහරණය: ශිෂ්‍යයෙකුගේ තොරතුරු

student = {
    "name": "Nimali Silva",
    "age": 21,
    "is_registered": True,
    "courses": ["Mathematics", "Science", "IT"]
}
  • **Keys ("name", "age"):** යතුර අද්විතීය (unique) විය යුතුය. එය සාමාන්‍යයෙන් ස්ට්‍රින්ග් (string) හෝ සංඛ්‍යාවක් වේ.
  • **Values ("Nimali Silva", 21):** අගය ඕනෑම දත්ත වර්ගයක් විය හැක.

ශබ්දකෝෂ සමග වැඩ කිරීම

අගයන් ලබා ගැනීම (Accessing Values): දර්ශක වෙනුවට යතුර (key) භාවිතා කරයි.

print(student["name"])    # ප්‍රතිඵලය: Nimali Silva
print(student["courses"]) # ප්‍රතිඵලය: ['Mathematics', 'Science', 'IT']

ආරක්ෂිත ක්‍රමය: යතුරක් ශබ්දකෝෂයේ නොමැති නම්, ඉහත ක්‍රමය දෝෂයක් (Error) ඇති කරයි. එය වළක්වා ගැනීමට .get() ක්‍රමය භාවිතා කළ හැක.

print(student.get("age"))  # ප්‍රතිඵලය: 21
print(student.get("city")) # ප්‍රතිඵලය: None (දෝෂයක් නැත)

අගයන් වෙනස් කිරීම සහ එකතු කිරීම (Changing and Adding Values):

# අගයක් යාවත්කාලීන කිරීම
student["age"] = 22
print(student.get("age")) # ප්‍රතිඵලය: 22

# අලුත් අයිතමයක් එකතු කිරීම
student["city"] = "Galle"
print(student) # ප්‍රතිඵලයට city: "Galle" එකතු වේ

අයිතම ඉවත් කිරීම (Removing Items): pop() ක්‍රමය මඟින් යතුර සඳහන් කර අයිතමයක් ඉවත් කළ හැක.

student.pop("is_registered")
print(student) # is_registered යුගලය ඉවත් වේ

ශබ්දකෝෂයක් හරහා ලූප කිරීම (Looping): .items() ක්‍රමය භාවිතා කිරීමෙන් යතුර සහ අගය දෙකම එකවර ලබාගත හැක.

for key, value in student.items():
    print(f"Key: {key}, Value: {value}")