Làm cách nào để tạo từ điển lồng nhau từ danh sách Python?

Một đối tượng dict có thể có bất kỳ kiểu kết hợp dữ liệu nào làm giá trị của nó, bao gồm cả các đối tượng dict khác. Nói cách khác, bạn có thể có một từ điển của từ điển chẳng hạn như từ điển bên dưới

# The 100m medal winners at the Tokyo 2020 Olympics
athletics = {
    '100m': {
        'Men': {
            'Gold': 'Marcell Jacobs',
            'Silver': 'Fred Kerley',
            'Bronze': 'Andre De Grasse'
        },
        'Women': {
            'Gold': 'Elaine Thompson-Herah',
            'Silver': 'Shelly-Ann Fraser-Pryce',
            'Bronze': 'Shericka Jackson'
        }
    }
}

Đây là một cách lưu trữ dữ liệu khá hữu ích vì nó logic. để biết tên của người đoạt huy chương vàng ở nội dung 100m nam, bạn có thể tra cứu

## Marcell Jacobs
6 >
## Marcell Jacobs
7 >
## Marcell Jacobs
8 như hình bên dưới

print[athletics['100m']['Men']['Gold']]
## Marcell Jacobs

Thêm một mục khác [khóa + giá trị] vào một từ điển lồng nhau bằng cách lập chỉ mục một khóa chưa tồn tại và gán một giá trị cho nó

# Add a key-value pair to the nested dictionary
athletics['100m']['Women']['Fourth'] = 'Marie-Josée Ta Lou'

Thêm một từ điển khác vào một từ điển lồng nhau theo cách tương tự

# The 200m medal winners at the Tokyo 2020 Olympics
results200m = {
    'Men': {
        'Gold': 'Andre De Grasse',
        'Silver': 'Kenneth Bednarek',
        'Bronze': 'Noah Lyles',
    },
    'Women': {
        'Gold': 'Elaine Thompson-Herah',
        'Silver': 'Christine Mboma',
        'Bronze': 'Gabrielle Thomas',
    }
}
# Add to the 'athletics' dictionary
athletics['200m'] = results200m

Một cách khác để làm điều đó

________số 8

Các ví dụ trên đã sử dụng từ điển trong đó tất cả các khóa và giá trị là chuỗi. Tất nhiên, đây không phải là trường hợp. khóa có thể là chuỗi, số hoặc bộ dữ liệu và giá trị có thể là bất kỳ loại dữ liệu nào

# The 400m medal winners at the Tokyo 2020 Olympics
athletics['400m'] = {
    'Men': {
        1: 'Steven Gardiner',
        2: 'Anthony Zambrano',
        3: 'Kirani James',
    },
    'Women': {
        [1, 'Name']: 'Shaunae Miller-Uibo',
        [1, 'Time']: 48.36,
        [2, 'Name']: 'Marileidy Paulino',
        [2, 'Time']: 49.20,
        [3, 'Name']: 'Allyson Felix',
        [3, 'Time']: 49.46,
    }
}

Các giá trị lập chỉ mục bây giờ trông như thế này

## Marcell Jacobs
0
## Marcell Jacobs
1
## Marcell Jacobs
2
print[athletics['100m']['Men']['Gold']]
0

Như đã đề cập, các giá trị trong một dict có thể thuộc bất kỳ kiểu dữ liệu nào. Thường thì sẽ hữu ích nếu chúng ở dạng danh sách và điều này dẫn đến phần tiếp theo…

Từ điển chứa kết hợp cả danh sách và từ điển là một định dạng rất phổ biến cho dữ liệu được lưu trữ trong. Thông thường, chúng sẽ xuất hiện dưới dạng tệp Ký hiệu đối tượng JavaScript [JSON], sau khi được nhập vào Python, về cơ bản chính xác là tệp này. Đây là một ví dụ về nội dung của một tệp như thế này có thể trông như thế nào

print[athletics['100m']['Men']['Gold']]
1____42
print[athletics['100m']['Men']['Gold']]
3

Lưu ý rằng, trong cách lập chỉ mục ở trên,

## Marcell Jacobs
9 là khóa của một giá trị trong từ điển và
# Add a key-value pair to the nested dictionary
athletics['100m']['Women']['Fourth'] = 'Marie-Josée Ta Lou'
0 là vị trí của một phần tử trong danh sách

Tất nhiên, bạn cũng có thể có một danh sách các từ điển

_______44____45____46

Từ điển lồng nhau có thể được hợp nhất theo cách giống như bất kỳ từ điển nào

print[athletics['100m']['Men']['Gold']]
7
print[athletics['100m']['Men']['Gold']]
8

Khi bạn lặp qua một từ điển, bạn sẽ lặp qua các phím và chỉ các phím cấp cao nhất tại đó

print[athletics['100m']['Men']['Gold']]
9
## Marcell Jacobs
0

In [các] giá trị của mỗi khóa sẽ hiển thị toàn bộ nội dung của từ điển

## Marcell Jacobs
1
## Marcell Jacobs
2

Ở trên là tương đương với

## Marcell Jacobs
3

Để lặp lại mọi mục trong từ điển, thay vì chỉ các khóa cấp cao nhất, bạn sẽ cần sử dụng một loạt vòng lặp [hoặc một vòng lặp đệ quy, như minh họa bên dưới]

Làm cách nào để tạo từ điển lồng nhau trong Python bằng danh sách?

Đưa ra một danh sách và từ điển, ánh xạ từng thành phần của danh sách với từng mục của từ điển, tạo thành từ điển lồng nhau dưới dạng giá trị. Giải trình. Ghép nối khóa-giá trị theo chỉ mục từ danh sách [8] đến dict {'Gfg'. 4}, v.v.

Bạn có thể tạo từ điển từ danh sách bằng Python không?

Bạn có thể chuyển đổi danh sách Python thành từ điển bằng lệnh dict. phương thức fromkeys[], cách hiểu từ điển hoặc phương thức zip[] . Phương thức zip[] hữu ích nếu bạn muốn hợp nhất hai danh sách thành một từ điển.

Làm cách nào để chuyển đổi danh sách từ điển thành từ điển lồng nhau trong Python?

Sử dụng zip . Chức năng Jeep có thể chuyển đổi các khóa và từ điển thành Tuple. Sau đó, chúng tôi áp dụng chức năng dict để có được kết quả cuối cùng là một từ điển chứa các khóa mới cũng như từ điển đầu vào.

Làm cách nào để chuyển đổi dữ liệu danh sách thành từ điển trong Python?

Vì từ điển python không có thứ tự nên đầu ra có thể theo bất kỳ thứ tự nào. Để chuyển đổi danh sách thành từ điển, chúng ta có thể sử dụng khả năng hiểu danh sách và tạo khóa. cặp giá trị của các phần tử liên tiếp. Cuối cùng, hãy nhập danh sách để nhập chính tả .

Chủ Đề