Saturday, November 23, 2024

[Python] Lesson 17 – Dictionaries

-

Dictionaries là một loại dữ liệu trong Python, cho phép lưu trữ dữ liệu dưới dạng cặp key-value. Các phần tử trong dictionary được lưu trữ dưới dạng cặp key-value và key phải là duy nhất. Chúng ta có thể truy cập các giá trị của dictionary bằng cách tham chiếu đến key tương ứng.

Ví dụ:

# Tạo một dictionary lưu trữ thông tin của một người
person = {'name': 'HoangHD', 'age': 25, 'address': 'Hanoi'}

# Truy cập thông tin của người này
print(person['name'])    # HoangHD
print(person['age'])     # 25
print(person['address']) # Hanoi

# Thay đổi giá trị của một key trong dictionary
person['age'] = 30

# In ra toàn bộ thông tin của người này
print(person)   # {'name': 'HoangHD', 'age': 30, 'address': 'Hanoi'}

Trong ví dụ này, chúng ta tạo ra một dictionary person để lưu trữ thông tin của một người bao gồm tên, tuổi và địa chỉ. Chúng ta có thể truy cập thông tin của người này bằng cách tham chiếu đến các key tương ứng trong dictionary. Sau đó, chúng ta có thể thay đổi giá trị của một key trong dictionary và in ra toàn bộ thông tin của người này bằng cách in ra dictionary đó.

Dưới đây là một ví dụ về cách sử dụng từ điển để lưu trữ thông tin về các nhân viên trong một công ty:

employees = {
    "John": {"age": 35, "department": "Sales", "salary": 5000},
    "Lisa": {"age": 28, "department": "Marketing", "salary": 4500},
    "Mike": {"age": 42, "department": "IT", "salary": 6500},
    "Emma": {"age": 26, "department": "HR", "salary": 4000}
}

# Truy cập thông tin của nhân viên John
print("Age of John:", employees["John"]["age"])
print("Department of John:", employees["John"]["department"])
print("Salary of John:", employees["John"]["salary"])

# Thay đổi lương của nhân viên Lisa
employees["Lisa"]["salary"] = 5000
print("New salary of Lisa:", employees["Lisa"]["salary"])

# Thêm thông tin về nhân viên mới vào từ điển
employees["Alex"] = {"age": 30, "department": "Finance", "salary": 5500}
print("Information of Alex:", employees["Alex"])

Trong ví dụ trên, chúng ta tạo một từ điển employees để lưu trữ thông tin về các nhân viên trong công ty. Mỗi khóa trong từ điển là tên của một nhân viên, và giá trị tương ứng là một từ điển con chứa các thông tin về nhân viên đó, bao gồm tuổi, phòng ban và lương. Chúng ta sử dụng các phép toán trên từ điển để truy cập, thay đổi và thêm thông tin cho các nhân viên trong công ty.

Một ví dụ sử dụng Dictionaries trong hệ thống Linux có thể là việc lưu trữ các tập tin và thông tin liên quan trong hệ thống file của Linux. Ví dụ, ta có thể sử dụng một dictionary để lưu trữ thông tin về các tập tin trong một thư mục cụ thể:

import os

# Thư mục cần lưu trữ thông tin
dir_path = "/home/user/documents"

# Tạo dictionary để lưu trữ thông tin tập tin
file_dict = {}

# Lặp qua các tập tin trong thư mục
for filename in os.listdir(dir_path):
    # Kiểm tra tập tin có phải là tập tin thực sự hay không
    if os.path.isfile(os.path.join(dir_path, filename)):
        # Lưu trữ thông tin về tập tin vào dictionary
        file_dict[filename] = {
            "path": os.path.join(dir_path, filename),
            "size": os.path.getsize(os.path.join(dir_path, filename)),
            "last_modified": os.path.getmtime(os.path.join(dir_path, filename))
        }

# In ra thông tin về các tập tin trong dictionary
for filename, file_info in file_dict.items():
    print("Filename:", filename)
    print("Path:", file_info["path"])
    print("Size:", file_info["size"])
    print("Last Modified:", file_info["last_modified"])

Trong ví dụ trên, ta sử dụng dictionary để lưu trữ thông tin về tên tập tin, đường dẫn, kích thước và thời gian sửa đổi lần cuối của các tập tin trong thư mục /home/user/documents. Ta sử dụng hàm os.listdir để lấy danh sách các tập tin trong thư mục và kiểm tra xem tập tin có phải là tập tin thực sự hay không bằng hàm os.path.isfile. Sau đó, ta lưu trữ thông tin của từng tập tin vào dictionary và in ra thông tin đó.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories