Mga Diksyunaryo ng Python: Kumpletong Gabay Mula sa Simula Hanggang sa Advanced

1. Ano ang associative array (dictionary) sa Python?

Ang “associative array” ng Python ay isang estruktura ng datos na namamahala ng datos gamit ang mga pares na susi‑halaga.
Sa pangkalahatan, ang tinatawag na “associative array” ay ibinibigay sa Python bilang uri ng dict.
Halimbawa, sa paggamit ng pangalan bilang susi at pag-iimbak ng edad o propesyon bilang mga halaga, nagiging epektibo ang paghahanap at pamamahala ng datos.
Dito, ang “susi” ay isang natatanging identifier na ginagamit upang tukuyin ang datos, at bawat susi ay dapat natatangi.

Mga Pagkakaiba sa pagitan ng uri ng dictionary at iba pang estruktura ng datos

Ang pangunahing katangian ng uri ng dictionary ay mabilis na paghahanap gamit ang mga susi.
Kung ihahambing sa mga uri ng sekwensya tulad ng list o tuple ng Python, hindi mo na kailangang maghanap ng mga elemento nang sunud‑sunod; maaari mong direktang ma-access gamit ang susi, na lubos na nagpapabuti sa bilis ng paghahanap.
Lalo na kapag humahawak ng malaking dami ng datos o sa mga sitwasyon kung saan madalas ang paghahanap, napaka‑kapaki‑pakinabang ng uri ng dictionary.

# Example of a dictionary
person = {
    "name": "Tanaka",
    "age": 30,
    "occupation": "Engineer"
}
print(person["name"])  # Output: Tanaka

2. Paano Lumikha ng Python Dictionary

Sa Python, maaari kang lumikha ng mga dictionary sa ilang paraan.
Maaari mong gamitin ang literal notation, dict() function, zip() function, atbp., pinipili ang pamamaraang angkop sa sitwasyon.

Pamamaraan Gamit ang Literals

Ang literal notation ay gumagamit ng mga kulot na panaklong {} upang lumikha ng dictionary, at ito ang pinaka‑karaniwan at simpleng paraan.
Sa paggamit ng literals, maaari mong tukuyin ang mga susi at halaga sa isang linya, na nagbibigay‑daan sa iyo na lumikha ng mga dictionary nang intuitive.

# Literal notation
fruit_prices = {
    "apple": 100,
    "banana": 150,
    "orange": 200
}

Pamamaraan ng Paglikha gamit ang dict() Function

Ang dict() function ay kapaki‑pakinabang kapag gumagawa ng dictionary mula sa listahan ng mga tuple, atbp.
Ang pamamaraang ito ay lalo na kapaki‑pakinabang kapag ang datos ay nagbabago nang dinamiko.

# dict function
fruit_prices = dict([("apple", 100), ("banana", 150), ("orange", 200)])

Pamamaraan ng Paglikha gamit ang zip() Function

Kapag lumilikha ng dictionary sa pamamagitan ng pagtutugma ng iba’t ibang listahan bilang mga susi at halaga, maaari mo itong gawin nang maikli gamit ang zip() function.
Pinapayagan ka nitong epektibong makabuo ng dictionary mula sa mga kaugnay na listahan.

# zip function
keys = ["apple", "banana", "orange"]
values = [100, 150, 200]
fruit_prices = dict(zip(keys, values))
侍エンジニア塾

3. Pangunahing Operasyon sa Dictionary

Ang mga Python dictionary ay mutable na estruktura ng datos na nagpapahintulot ng flexible na pagdaragdag, pag‑update, at pagtanggal ng datos.
Mayroon din silang mas mabilis na bilis ng paghahanap kumpara sa iba pang estruktura ng datos.

Pagdaragdag at Pag‑update ng mga Elemento

Upang magdagdag o mag‑update ng isang elemento sa dictionary, mag‑assign ka lamang ng halaga sa tinukoy na susi.
Ang pag‑assign ng halaga sa umiiral na susi ay nag‑update nito, habang ang pagtukoy ng bagong susi ay nagdadagdag ng bagong entry.

fruit_prices = {"apple": 100, "banana": 150}
# Add a new element
fruit_prices["orange"] = 200
# Update an existing element
fruit_prices["apple"] = 120

Pagtatanggal ng mga Elemento

Kapag nagtatanggal ng elemento gamit ang isang tiyak na susi, maaari mong gamitin ang del statement o ang pop() method.
Ang pop() method ay nagbabalik ng tinanggal na halaga, na kapaki‑pakinabang kapag kailangan mong panatilihin ang tinanggal na datos.

# Deletion using the del statement
del fruit_prices["banana"]
# Deletion using the pop method (returns the deleted value)
removed_price = fruit_prices.pop("orange")

4. Advanced na Operasyon

Ang paggamit ng mga dictionary sa advanced na paraan ay kinabibilangan ng pagsasama sa ibang mga dictionary at pagbilang ng dalas. Pinapayagan nito ang mas sopistikadong manipulasyon ng datos.

Pagsasama ng Dictionary

Kapag pinagsasama ang maraming dictionary sa iisang, kapaki‑pakinabang ang update() method. Kung may mga duplicate na susi, ito ay napapalitan, na nagbibigay‑daan sa iyo na pagsamahin o i‑update ang datos sa isang hakbang.

dict1 = {"apple": 100, "banana": 150}
dict2 = {"banana": 200, "grape": 300}
dict1.update(dict2)
# Output: {'apple': 100, 'banana': 200, 'grape': 300}

Pag‑aaplay ng Pagbibilang ng Dalas

Ang pagbibilang ng dalas ay kapaki-pakinabang, halimbawa, kapag binibilang kung ilang beses lumilitaw ang bawat karakter sa isang string. Ang paggamit ng uri ng diksyunaryo ay nagpapabilis ng pagsasama-sama at pagsusuri ng datos.

text = "apple"
frequency = {}
for char in text:
    if char in frequency:
        frequency[char] += 1
    else:
        frequency[char] = 1
# Output: {'a': 1, 'p': 2, 'l': 1, 'e': 1}
侍エンジニア塾

5. Pag-ikot sa isang Diksyunaryo

Ang pag-ikot ay perpekto para iproseso ang lahat ng elemento ng isang diksyunaryo nang sabay-sabay.
Pinapayagan ka nitong manipulahin ang mga susi at halaga nang paisa-isa o kunin ang listahan ng datos.

Pagkuha ng mga Susi at Halaga gamit ang Loop

Upang iproseso ang mga susi, halaga, o ang kanilang kombinasyon sa isang diksyunaryo, maaari mong gamitin ang mga metodong keys(), values(), at items().

fruit_prices = {"apple": 100, "banana": 150, "orange": 200}
# Keys only
for key in fruit_prices.keys():
    print(key)
# Values only
for value in fruit_prices.values():
    print(value)
# Key-value pairs
for key, value in fruit_prices.items():
    print(f"The price of {key} is {value} yen")

6. Buod ng mga Python Dictionary

Ang mga Python dictionary (associative arrays) ay nag-aayos ng datos bilang mga pares na susi‑halaga, na lubos na nagpapabuti sa kahusayan ng paghahanap at mga operasyon.
Kung ikukumpara sa mga listahan at tuples, nag-aalok sila ng mas mabilis na paghahanap, na ginagawang kapaki-pakinabang kapag humahawak ng malaking dami ng datos.
Ang mga ito ay angkop din para sa pagsasama-sama at pagsusuri ng datos, at para sa pagsasama sa iba pang mga estruktura ng datos, na ginagawang hindi mapapalitan para sa pangunahing manipulasyon ng datos sa Python.
Ang pagiging komportable sa mga operasyon ng diksyunaryo ay nagbibigay-daan sa mas advanced na pagproseso ng datos.

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール