Làm cách nào để lặp qua từ điển Python lồng nhau?

Tóm lược. Trong hướng dẫn này, chúng ta sẽ khám phá các cách khác nhau để lặp qua một từ điển thông thường, lồng nhau và danh sách trong Python

Từ điển là một trong những cấu trúc dữ liệu được tích hợp sẵn trong Python

Nó lưu trữ ánh xạ của khóa và giá trị [dưới dạng một cặp] vào một bộ sưu tập và có thể được lồng vào các cấu trúc dữ liệu khác, bao gồm cả chính nó

Do đó, việc truy cập từng phần tử theo thứ tự trở nên rất quan trọng trong trường hợp từ điển

Hãy xem các phương pháp khác nhau để lặp từ điển trong Python

Lặp lại từ điển cơ bản

Trong Python, chúng ta có thể lặp lại một từ điển cơ bản theo 3 cách khác nhau

  1. Lặp lại trực tiếp thông qua các phím
  2. Lặp lại thông qua
    >>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
    >>> print[user.keys[]]
    dict_keys[['name', 'country', 'dob']]
    1
  3. Lặp lại thông qua
    >>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
    >>> print[user.keys[]]
    dict_keys[['name', 'country', 'dob']]
    2
  4. Lặp lại thông qua
    >>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
    >>> print[user.keys[]]
    dict_keys[['name', 'country', 'dob']]
    3

Hãy xem một ví dụ về từng phương pháp

1. Lặp lại trực tiếp thông qua các phím

Một từ điển trong Python theo mặc định lặp lại các phím. Khi chúng ta sử dụng vòng lặp for trên từ điển, Python sẽ trả về một trình vòng lặp trên các khóa của nó

Trình lặp này được sử dụng bởi vòng lặp

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4 để lặp qua các khóa của đối tượng từ điển

Vì mỗi khóa có sẵn bên trong phần thân của vòng lặp, chúng ta có thể tận dụng lợi thế của toán tử lập chỉ mục [

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
5] để dễ dàng truy cập giá trị tương ứng của nó

countries = {'IN': 'India', 'US': 'United States of America', 'SK': 'South Korea'}

for key in countries:
    print[key, '  ', countries[key]]
    
''' 
IN    India
US    United States of America
SK    South Korea
'''

2. lặp qua. phím[]

Phương thức

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
6 của từ điển trả về một đối tượng dạng xem chứa danh sách tất cả các khóa có sẵn trong đối tượng từ điển

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]

Đối tượng xem này trong Python có thể lặp lại. Vì vậy, như trước đây, trong phương thức này, chúng ta có thể lặp qua danh sách các khóa và tìm nạp tất cả các giá trị của từ điển đã cho bằng cách sử dụng toán tử

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
5

user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}

for key in user.keys[]:
    print[key, '  ', user[key]]
    
''' 
name    Pencil Programmer
country    India
dob    10/07/1996
'''

3. lặp qua. giá trị[]

Đôi khi chúng tôi chỉ muốn lặp qua các giá trị của từ điển đã cho. Trong những trường hợp như vậy, chúng ta nên lặp qua

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
2 của đối tượng từ điển.

Phương thức

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
9 của từ điển trả về một đối tượng dạng xem có thể lặp lại chứa danh sách các giá trị khả dụng của từ điển

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
2

Chúng ta có thể lặp qua đối tượng khung nhìn này bằng cách sử dụng vòng lặp

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4 và truy cập tất cả các giá trị của đối tượng từ điển đã cho

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4

4. Lặp đi lặp lại kỹ lưỡng. mặt hàng[]

Khi chúng ta muốn duyệt qua cả key và value của dictionary, chúng ta nên sử dụng phương thức

user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}

for key in user.keys[]:
    print[key, '  ', user[key]]
    
''' 
name    Pencil Programmer
country    India
dob    10/07/1996
'''
1

Phương thức

user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}

for key in user.keys[]:
    print[key, '  ', user[key]]
    
''' 
name    Pencil Programmer
country    India
dob    10/07/1996
'''
1 của từ điển trả về một đối tượng dạng xem có thể lặp lại chứa danh sách các cặp khóa-giá trị dưới dạng bộ dữ liệu

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
7

Chúng ta có thể lặp qua danh sách này bằng cách sử dụng vòng lặp

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4 và truy cập cả khóa và giá trị cùng một lúc

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
9

Đây là cách tiếp cận tốt nhất để lặp qua các cặp khóa-giá trị của từ điển trong Python

Lặp lại từ điển lồng nhau

Việc lặp lại một từ điển lồng nhau có thể phức tạp, đặc biệt nếu việc lồng nhau không tuân theo bất kỳ mẫu nào

Ví dụ: trong từ điển này, không phải mọi giá trị đều là từ điển lồng nhau

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
0

Do đó, việc viết các vòng lặp

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4 lồng nhau để lặp lại một loại từ điển như vậy sẽ không hoạt động

Cách tốt nhất để lặp từ điển lồng nhau là sử dụng phép lặp đệ quy

Trong phép lặp đệ quy, chúng tôi kiểm tra xem có giá trị nào là từ điển lồng nhau không. Nếu vậy, chúng tôi lặp lại đệ quy nó như một từ điển mới

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
2

Trong hàm đệ quy, chúng ta đang lặp qua

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
3 của từ điển bằng vòng lặp
>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4

Chúng ta cũng có thể sử dụng các kiểu lặp khác [như đã thảo luận trước đây] và tuân theo logic đệ quy tương tự để lặp một từ điển lồng nhau trong Python

Lặp lại danh sách từ điển

Python cho phép lồng một loại cấu trúc dữ liệu vào một loại cấu trúc dữ liệu khác

Ví dụ danh sách chứa nhiều từ điển như sau

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
5

Để lặp lại cấu trúc dữ liệu như vậy, chúng ta nên lặp qua cấu trúc dữ liệu bên ngoài [trong trường hợp của chúng tôi là danh sách] và sau đó lồng vòng lặp của các phần tử cấu trúc dữ liệu bên trong [từ điển]

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
0

Trong ví dụ này, chúng tôi đang lặp qua danh sách đã cho bằng cách sử dụng vòng lặp

>>> user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}
>>> print[user.keys[]]
dict_keys[['name', 'country', 'dob']]
4 và chuyển từng phần tử từ điển cho hàm
user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}

for key in user.keys[]:
    print[key, '  ', user[key]]
    
''' 
name    Pencil Programmer
country    India
dob    10/07/1996
'''
8 để lặp qua các cặp khóa-giá trị và in chúng theo từng dòng

Ghi chú. Nếu danh sách chứa các từ điển lồng nhau thì chúng ta phải viết

user = {'name': 'Pencil Programmer', 'country': 'India', 'dob': '10/07/1996'}

for key in user.keys[]:
    print[key, '  ', user[key]]
    
''' 
name    Pencil Programmer
country    India
dob    10/07/1996
'''
8 dưới dạng hàm đệ quy [như những gì chúng ta đã làm trước đây]

Phần kết luận

Trong hướng dẫn này, chúng ta đã học được một số cách dễ dàng và nâng cao để lặp lại khóa và giá trị của một từ điển

Chúng tôi cũng đã học phương pháp lặp đệ quy của một từ điển lồng nhau trong Python và lặp một danh sách các từ điển

Làm cách nào để lặp qua từ điển của từ điển Python?

Có nhiều cách để lặp lại một từ điển trong Python. .
Khóa truy cập bằng cách sử dụng bản dựng. phím[]
Phím truy cập mà không cần sử dụng phím[]
Lặp lại tất cả các giá trị bằng cách sử dụng. giá trị[]
Lặp lại tất cả các cặp khóa và giá trị bằng cách sử dụng items[]
Truy cập cả khóa và giá trị mà không cần sử dụng items[]
In các mục trong Khóa-Giá trị theo cặp

Làm cách nào để lấy dữ liệu từ từ điển lồng nhau trong Python?

Truy cập các mục từ điển lồng nhau . Phương thức get[] trả về giá trị cho khóa nếu khóa có trong từ điển, ngược lại, nó trả về Không có. using the special dictionary get[] method. The get[] method returns the value for the key if the key is in the dictionary, otherwise, it returns None.

Chủ Đề