Chuyển đổi chuỗi từ điển lồng nhau thành từ điển python

Từ điển Python có khóa và giá trị. Nếu chúng ta có hai hoặc nhiều từ điển để hợp nhất một từ điển lồng nhau, thì chúng ta có thể thực hiện các phương pháp dưới đây. Năm nay, các từ điển được đưa ra cùng với các khóa mới sẽ trở thành một khóa trong từ điển lồng nhau

Gán phím

Theo cách tiếp cận này, chúng tôi sẽ tạo một từ điển trống mới. Sau đó, gán các từ điển đã cho cho từng khóa mới. Từ điển kết quả sẽ là một từ điển lồng nhau với các khóa được chỉ định

Ví dụ

dictA = {'Sun': 1, 'Mon': 2}
dictB = {'Tue': 3, 'Sun': 5}

# Given Dictionaries
print["DictA : ",dictA]
print["DictB: ",dictB]

# Using key access and dict[]
res = dict[]
res['Netsed_dict_1'] = dictA
res['Netsed_dict_2'] = dictB

# printing result
print["Netsed Dictionary: \n" ,res]

Chạy đoạn mã trên cho chúng ta kết quả sau -

đầu ra

DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}

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

Trước hết, cảm ơn bạn đã dán mã của mình và cố gắng định dạng nó. Bạn gần như đã làm đúng, bạn chỉ cần sử dụng 3 dấu gạch ngược [

DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
1] thay vì dấu nháy đơn [
DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
2]. Nếu bạn có thể chỉnh sửa bài đăng của mình để nó hiển thị chính xác thì điều đó thật tuyệt, nếu không thì chúng tôi không thể chắc chắn mã của bạn thực sự trông như thế nào và cũng không thể dễ dàng tự sao chép và dán mã đó

Thứ hai, có lẽ bạn nên xem xét việc sử dụng mô-đun

DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
3. Nó được thiết kế để đọc và ghi dữ liệu như thế này và xử lý hầu hết các phân tích cú pháp cho bạn

https. // tài liệu. con trăn. org/3/library/csv. html

Mặc dù nếu bạn đi theo con đường này, bạn sẽ phải thực hiện thêm một số công việc vì các từ điển và danh sách lồng nhau của bạn sẽ được lưu trữ dưới dạng chuỗi

Bạn đang làm gì với dữ liệu này? . Bạn sẽ xem xét một định dạng tập tin khác?

https. // tài liệu. con trăn. org/3/thư viện/json. html

Ví dụ.
Tệp

DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
6 của bạn sẽ như thế này.

{
    "bulbasaur": {
        "fee": 25,
        "powers": [
            "grass"
        ],
        "quantity": 5
    },
    "charmander": {
        "fee": 100,
        "powers": [
            "fire"
        ],
        "quantity": 3
    },
    "gyrados": {
        "fee": 1000,
        "powers": [
            "water",
            "flying"
        ],
        "quantity": 1
    },
    "squirtle": {
        "fee": 50,
        "powers": [
            "water"
        ],
        "quantity": 2
    }
}

và bạn sẽ sử dụng mã này để đọc và lưu nó

import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]

Ngoài các nhận xét ở trên, bạn có thể muốn xem xét thư viện Pandas phổ biến, giúp làm việc với dữ liệu dạng bảng dễ dàng hơn nhiều. Bạn có thể đọc tệp CSV của mình thành Khung dữ liệu Pandas trong một dòng,

DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
7 và nó sẽ tự động chuyển đổi tất cả các loại dữ liệu cho bạn. Sau đó, bạn có thể xuất nó thành một lệnh Python ở định dạng được chỉ định với
DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
8, thành tệp JSON với
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
0 hoặc CSV gốc của bạn với
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
1. Bạn có thể sắp xếp df của mình bằng
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
2

Tuy nhiên, có một vấn đề tiềm ẩn với cách tiếp cận này hoặc cách tiếp cận dựa trên

DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
3 được đề xuất trước đó—bạn có một số lượng trường
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
4 thay đổi, có vẻ như bạn định đọc dưới dạng danh sách lồng nhau. Cung cấp một chút kiến ​​thức về lĩnh vực cụ thể, có vẻ như điều này tương ứng với "Loại" của Pokemon, theo Bulbapedia, một Pokemon chỉ có thể có một hoặc hai loại. Như vậy, cách đơn giản nhất để xử lý việc này là chỉ cần khai báo 2 cột
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
5 và
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
6, Pandas [hoặc
DictA : {'Sun': 1, 'Mon': 2}
DictB: {'Tue': 3, 'Sun': 5}
Netsed Dictionary:
{'Netsed_dict_1': {'Sun': 1, 'Mon': 2}, 'Netsed_dict_2': {'Tue': 3, 'Sun': 5}}
3] sẽ điền giá trị đầy đủ vào cột thứ 2 nếu không có. Tất nhiên, điều đó không giúp bạn có được một danh sách trong cấu trúc dữ liệu đầu ra của mình, nhưng làm việc với nó đơn giản hơn rất nhiều; . g. đại loại như
import json

database_filename = 'pokemons.txt'
with open[database_filename] as file:
    pokemon = json.load[file]


def save[]:
    with open[database_filename, 'w'] as f:
        json.dump[pokemon, f, sort_keys=True, indent=4]
8

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

Chuyển đổi danh sách thành từ điển Sử dụng Enumerate[] Bằng cách sử dụng enumerate[] , chúng ta có thể chuyển đổi danh sách thành từ điển với chỉ mục là . enumerate[] sẽ trả về một đối tượng liệt kê. Chúng ta có thể chuyển đổi thành dict bằng hàm tạo dict[].

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

Hàm này dùng để phân tích chuỗi JSON. .
cú pháp. json. tải [file_name]
Tham số. Nó lấy tệp JSON làm tham số
loại trả lại. Nó trả về đối tượng từ điển python

dict ={} trong Python là gì?

Cấu trúc bảng băm khóa/giá trị hiệu quả của Python được gọi là "dict". Nội dung của một dict có thể được viết dưới dạng một chuỗi key. cặp giá trị trong dấu ngoặc nhọn { }, e. g. chính tả = {key1. giá trị1, khóa2. giá trị2,. }. "Chính tả trống" chỉ là một cặp dấu ngoặc nhọn trống {}.

Làm cách nào để truy cập các khóa lồng nhau trong từ điển Python?

Truy cập các mục từ điển lồng nhau . Nếu bạn tham chiếu đến một khóa không có trong từ điển lồng nhau, một ngoại lệ sẽ được đưa ra. Cái này là cái gì? . specifying key in multiple square brackets. If you refer to a key that is not in the nested dictionary, an exception is raised. What is this? To avoid such exception, you can use the special dictionary get[] method.

Chủ Đề