7 thủ thuật Python với Dictionary và String giúp code gọn hơn

  • Home
  • 7 thủ thuật Python với Dictionary và String giúp code gọn hơn

Khi làm việc với Python, đặc biệt là trong các dự án Web API, automation, scraping hoặc xử lý JSON, dictstr là hai kiểu dữ liệu được sử dụng gần như mỗi ngày.

Python cung cấp rất nhiều phương thức và cú pháp tiện lợi giúp xử lý chúng nhanh chóng mà không cần viết quá nhiều code.

Dưới đây là 7 thủ thuật Python thực tế mà developer nên biết.

1. Lấy giá trị Dictionary an toàn với get()

Giả sử có một dictionary:

user = {
    "name": "Nguyen Van A",
    "email": "a@example.com"
}

Nếu truy cập trực tiếp:

print(user["phone"])

Python sẽ báo lỗi:

KeyError: 'phone'

Khi không chắc key có tồn tại hay không, hãy sử dụng get():

phone = user.get("phone")

print(phone)

Kết quả:

None

Bạn cũng có thể đặt giá trị mặc định:

phone = user.get("phone", "Chưa cập nhật")

print(phone)

Kết quả:

Chưa cập nhật

Tại sao get() hữu ích?

Khi xử lý dữ liệu từ API, JSON hoặc database, không phải lúc nào tất cả field cũng tồn tại.

Thay vì:

if "phone" in user:
    phone = user["phone"]
else:
    phone = "Chưa cập nhật"

Có thể viết:

phone = user.get("phone", "Chưa cập nhật")

Code ngắn hơn và dễ đọc hơn.

2. Duyệt Dictionary bằng .items()

Giả sử:

user = {
    "name": "An",
    "age": 30,
    "city": "Da Nang"
}

Nếu muốn lấy cả key và value:

for key, value in user.items():
    print(key, value)

Kết quả:

name An
age 30
city Da Nang

Đây là cách rõ ràng hơn so với việc lấy danh sách key rồi truy cập dictionary nhiều lần.

Ví dụ thực tế

In toàn bộ dữ liệu cấu hình:

config = {
    "host": "localhost",
    "port": 3306,
    "debug": True
}

for key, value in config.items():
    print(f"{key}: {value}")

Kết quả:

host: localhost
port: 3306
debug: True

3. Kết hợp hai Dictionary bằng |

Trong Python hiện đại, bạn có thể kết hợp hai dictionary bằng toán tử |.

Ví dụ:

user = {
    "name": "An",
    "age": 30
}

contact = {
    "email": "an@example.com",
    "phone": "0123456789"
}

result = user | contact

print(result)

Kết quả:

{
    'name': 'An',
    'age': 30,
    'email': 'an@example.com',
    'phone': '0123456789'
}

Thay vì phải sử dụng nhiều dòng code để cập nhật dictionary, bạn có thể thực hiện trực tiếp.

Nếu key bị trùng

Ví dụ:

a = {
    "name": "An",
    "age": 25
}

b = {
    "age": 30,
    "city": "Hanoi"
}

result = a | b

print(result)

Kết quả:

{
    'name': 'An',
    'age': 30,
    'city': 'Hanoi'
}

Giá trị trong dictionary bên phải sẽ được ưu tiên.

Lưu ý: cú pháp | cho dictionary được giới thiệu từ Python 3.9.

4. Đảo ngược chuỗi bằng slicing

Python cho phép đảo ngược một chuỗi chỉ bằng một dòng code:

text = "Python"

reverse_text = text[::-1]

print(reverse_text)

Kết quả:

nohtyP

Cú pháp:

text[start:stop:step]

Khi sử dụng:

[::-1]

Python sẽ duyệt chuỗi từ cuối về đầu.

Kiểm tra chuỗi đối xứng

Thủ thuật này còn có thể dùng để kiểm tra palindrome:

text = "madam"

if text == text[::-1]:
    print("Palindrome")

Kết quả:

Palindrome

5. Loại bỏ khoảng trắng với strip()

Khi nhận dữ liệu từ người dùng hoặc API, chuỗi thường có thể chứa khoảng trắng thừa.

Ví dụ:

name = "   Nguyen Van A   "

Sử dụng:

name = name.strip()

print(name)

Kết quả:

Nguyen Van A

Các phương thức thường dùng

strip():

text.strip()

Loại bỏ khoảng trắng ở đầu và cuối.

lstrip():

text.lstrip()

Loại bỏ khoảng trắng bên trái.

rstrip():

text.rstrip()

Loại bỏ khoảng trắng bên phải.

Ví dụ:

text = "   Python   "

print(text.strip())
print(text.lstrip())
print(text.rstrip())

Đây là thao tác rất thường xuyên được sử dụng khi xử lý dữ liệu form, CSV, scraping hoặc API.

6. Chuyển Dictionary thành JSON bằng json.dumps()

Khi làm việc với API, bạn sẽ thường xuyên phải chuyển đổi giữa Python object và JSON.

Ví dụ:

import json

user = {
    "name": "An",
    "age": 30,
    "active": True
}

json_data = json.dumps(user)

print(json_data)

Kết quả:

{"name": "An", "age": 30, "active": true}

Nếu muốn JSON dễ đọc hơn:

json_data = json.dumps(
    user,
    indent=4,
    ensure_ascii=False
)

print(json_data)

Kết quả:

{
    "name": "An",
    "age": 30,
    "active": true
}

ensure_ascii=False đặc biệt hữu ích khi JSON chứa tiếng Việt hoặc các ký tự Unicode.

Ví dụ:

user = {
    "name": "Nguyễn Văn A",
    "city": "Đà Nẵng"
}

print(
    json.dumps(
        user,
        ensure_ascii=False,
        indent=4
    )
)

7. Chuyển JSON thành Dictionary bằng json.loads()

Chiều ngược lại, nếu nhận JSON từ API dưới dạng chuỗi:

import json

json_data = '''
{
    "name": "An",
    "age": 30,
    "active": true
}
'''

Có thể chuyển thành Python dictionary bằng json.loads():

user = json.loads(json_data)

print(user["name"])
print(user["age"])

Kết quả:

An
30

Đây là thao tác rất quan trọng khi làm việc với API.

Ví dụ:

import requests

response = requests.get(
    "https://example.com/api/users"
)

data = response.json()

print(data)

Trong trường hợp sử dụng thư viện requests, bạn thường không cần gọi json.loads() thủ công vì response.json() đã thực hiện việc parse JSON cho bạn.

Bonus: Kiểm tra key tồn tại trong Dictionary

Bạn có thể sử dụng in:

user = {
    "name": "An",
    "email": "an@example.com"
}

if "email" in user:
    print("Email đã tồn tại")

Kết quả:

Email đã tồn tại

Cách này đặc biệt hữu ích khi xử lý dữ liệu không đồng nhất từ API.

Ví dụ:

if "avatar" in user:
    print(user["avatar"])
else:
    print("Không có avatar")

Hoặc đơn giản hơn:

avatar = user.get("avatar", "")

Tổng kết

Dictionary và String xuất hiện trong hầu hết các chương trình Python thực tế. Việc nắm được một số phương thức và cú pháp quan trọng sẽ giúp developer xử lý dữ liệu nhanh hơn và giảm lượng code không cần thiết.

Trong bài viết này, chúng ta đã tìm hiểu:

  1. dict.get() để lấy dữ liệu an toàn.
  2. dict.items() để duyệt key và value.
  3. Toán tử | để kết hợp dictionary.
  4. [::-1] để đảo ngược chuỗi.
  5. strip() để loại bỏ khoảng trắng.
  6. json.dumps() để chuyển Python object thành JSON.
  7. json.loads() để chuyển JSON thành Python object.

Đặc biệt, dict, stringJSON là những kiến thức nền tảng rất quan trọng nếu bạn đang sử dụng Python để xây dựng REST API, automation tool, web scraping hoặc các ứng dụng xử lý dữ liệu.

Hãy ghi nhớ những thủ thuật nhỏ này. Khi sử dụng thường xuyên, chúng sẽ giúp code Python của bạn ngắn gọn, rõ ràng và dễ bảo trì hơn.

Categories:

Leave Comment

Tháng 9 2026
H B T N S B C
 123456
78910111213
14151617181920
21222324252627
282930