CodeGym /Khóa học Java /Python SELF VI /Làm việc với từ điển

Làm việc với từ điển

Python SELF VI
Mức độ , Bài học
Có sẵn

2.1 Lấy số lượng phần tử

Trong Python, để lấy số lượng phần tử trong từ điển, chúng ta dùng hàm len(). Hàm này trả về số cặp key-value trong từ điển. Hay là số lượng khóa, nếu bạn muốn.

Ví dụ sử dụng hàm:


person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements)  # Kết quả: 3 

Trong ví dụ này, chúng ta có từ điển person với ba phần tử. Hàm len(person) trả về số lượng phần tử trong từ điển, mà là 3.

Kiểm tra từ điển rỗng

Bạn có thể sử dụng hàm len() để kiểm tra từ điển rỗng. Điều này rất hữu ích trong các điều kiện và vòng lặp.


empty_dict = {}
print(len(empty_dict))  # Kết quả: 0

person = {"name": "Alice", "age": 25, "city": "New York"}

if len(person) > 0:
    print("Từ điển không rỗng")
else:
    print("Từ điển rỗng")

Từ điển với cấu trúc lồng nhau

Hàm len() chỉ tính số lượng khóa trên cấp đầu tiên, bất kể có gì bên trong giá trị.


complex_dict = {
    name: "Alice",
    details: {
        age: 25,
        city: "New York"
    },
    hobbies: ["reading", "traveling"]
}
print(len(complex_dict))  # Kết quả: 3

Trong ví dụ này, chúng ta có từ điển với các cấu trúc dữ liệu lồng nhau. len(complex_dict) trả về 3 vì có ba khóa trên cấp đầu tiên: "name", "details" và "hobbies".

len() bỏ qua các khóa bên trong cấu trúc dữ liệu lồng nhau, như "age" và "city" bên trong từ điển "details", vì len() chỉ đếm các khóa trên cấp đầu tiên. Nếu bạn cần đếm số lượng tất cả các phần tử, bao gồm các cấu trúc lồng nhau, bạn cần sử dụng phương pháp đệ quy. Nhưng không phải hôm nay đâu.

2.2 Xác định kiểu

Hàm type() trong Python được sử dụng để xác định kiểu của đối tượng. Khi làm việc với từ điển, type() cho phép xác định rằng đối tượng là một phiên bản của lớp dict. Điều này có thể hữu ích trong nhiều tình huống, ví dụ như kiểm tra kiểu dữ liệu trước khi thực hiện các thao tác trên từ điển.

Ví dụ sử dụng:

Kiểm tra kiểu đối tượng


person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person))  # Kết quả: <class 'dict'>

Trong ví dụ này, chúng ta tạo ra một từ điển person và sử dụng type để xác định kiểu của nó. Hàm trả về <class 'dict'>, cho biết person là một từ điển.

Kiểm tra điều kiện kiểu dữ liệu

Hàm type() có thể được sử dụng để kiểm tra kiểu dữ liệu trong các biểu thức điều kiện, cho phép thực hiện các thao tác cụ thể chỉ áp dụng cho đối tượng kiểu dict.


data = {"name": "Alice", "age": 25, "city": "New York"}

if type(data) is dict:
    print("Đây là từ điển.")
else:
    print("Đây không phải là từ điển.")

Trong ví dụ này, biểu thức điều kiện kiểm tra xem data có phải là từ điển không và thực hiện mã tương ứng.

Hàm type() có thể được sử dụng bên trong các hàm tự tạo để kiểm tra kiểu của các đối số, đảm bảo rằng hàm xử lý đúng kiểu dữ liệu.

Ví dụ:


def process_data(data):
    if type(data) is dict:
        print("Xử lý từ điển...")
        # Thực hiện các thao tác trên từ điển
    else:
        print("Lỗi: mong đợi từ điển.")

data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)

Trong ví dụ này, hàm process_data kiểm tra xem đối số data có phải là từ điển không và thực hiện các thao tác tương ứng chỉ cho từ điển.

2.3 Lấy phần tử

Làm việc với các phần tử của từ điển giống như làm việc với danh sách hay bộ tuple — chúng ta cũng sẽ sử dụng dấu ngoặc vuông. Nhưng thay vì chỉ mục của phần tử, trong ngoặc vuông bạn cần chỉ định khóa. Khóa của từ điển có thể là bất kỳ phần tử bất biến nào: chuỗi, số hoặc, ví dụ, một tuple.


dictionary[key]

Ví dụ:


person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name)  # Kết quả: Alice

Nếu khóa không tồn tại, sẽ xảy ra lỗi:


person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"]  # sẽ xảy ra lỗi KeyError: 'country'

Phương thức get(key, def_value)

Phương thức get() cho phép lấy giá trị theo khóa một cách an toàn. Nếu khóa không tồn tại, phương thức trả về giá trị mặc định (None, nếu không chỉ định giá trị mặc định). Điều này ngăn ngừa lỗi KeyError.


person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age)  # Kết quả: 25

country = person.get("country", "USA")
print(country)  # Kết quả: USA

Tham số thứ hai trong phương thức get() có thể là giá trị cần trả về nếu khóa cần tìm kiếm không có trong từ điển.

Phương thức setdefault() hoạt động tương tự phương thức get(), nhưng nếu khóa không có trong từ điển, phương thức không chỉ trả về giá trị mặc định, mà còn thêm một cặp key: value mới vào từ điển.


person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city)  # Kết quả: New York
print(person)  # Kết quả: {'name': 'Alice', 'age': 25, 'city': 'New York'}
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION