Từ điển lồng nhau trong Python

Bài viết đăng tại: https://programming.laptrinh.site

Từ điển lồng nhau trong Python là một từ điển trong một từ điển, trong đó các giá trị của từ điển bên ngoài cũng là từ điển. Đoạn mã sau đây cho thấy một ví dụ cơ bản.

 d1 = { 0 : { 'Dept' : 'Mathematics' , 'Prof' : 'Dr Jack' }, 1 : { 'Dept' : 'Physics' , 'Prof' : 'Dr Mark' } } print (d1)

Đầu ra:

{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}

Chúng ta có thể dễ dàng truy cập các phần tử từ điển bằng cách sử dụng khóa của từ điển lồng nhau, như minh họa trong ví dụ dưới đây.

 d1 = { 0 : { 'Dept' : 'Mathematics' , 'Prof' : 'Dr Jack' }, 1 : { 'Dept' : 'Physics' , 'Prof' : 'Dr Mark' } } print (d1[ 0 ][ 'Dept' ])

Đầu ra:

Mathematics

Ở đây, 0 là khóa của từ điển bên ngoài và 'Dept' là khóa của từ điển bên trong.

Chúng tôi cũng có thể thêm các phần tử như chúng tôi làm trong một từ điển Python bình thường. Hơn nữa, chúng ta cũng có thể thêm toàn bộ từ điển làm thành phần. Ví dụ:

 d1 = { 0 : { 'Dept' : 'Mathematics' , 'Prof' : 'Dr Jack' }, 1 : { 'Dept' : 'Physics' , 'Prof' : 'Dr Mark' } } d1[ 2 ] = { 'Dept' : 'CS' , 'Prof' : 'Dr Jay' } print (d1[ 2 ])

Đầu ra:

{'Dept': 'CS', 'Prof': 'Dr Jay'}

Python có hàm tạo defaultdict() trong mô-đun collections để tạo từ điển và trả về giá trị mặc định khi truy cập khóa không khả dụng.

Kiểu dữ liệu defaultdict() rất hữu ích khi bạn muốn trả về các giá trị mặc định hoặc khởi tạo từ điển theo yêu cầu của bạn. Đoạn mã sau chỉ ra cách tạo một từ điển đơn giản bằng phương pháp này:

from collections import defaultdict
d1 = defaultdict( lambda : defaultdict( dict )) d1[ 'key_outer_1' ] = { 'key_inner_1' : 'val1' } d1[ 'key_outer_2' ] = { 'key_inner_2' : 'val2' } print ( dict (d1))

Đầu ra:

{'key_outer_1': {'key_inner_1': 'val1'}, 'key_outer_2': {'key_inner_2': 'val2'}}

URL Link

https://laptrinh.site/tu-dien-long-nhau-trong-python/

Viết bởi Duy Mạnh. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA