不使用update函数在嵌套dict中创建键

2024-09-29 02:26:55 发布

您现在位置:Python中文网/ 问答频道 /正文

输入:

{'Name': 'A','Blood Group': 'O +ve', 'Age': '1', 'Sex': 'M','Phone  Number': '01234567', 'Mobile Number': '9876543210', 'Date of Birth': '01-01-95'}

1。在

^{pr2}$

2。在

^{3}$

你能说一个更好的方法或不同的方法来创建一个字典键,可以分配给dict项作为值???在

原代码:

import csv
import copy
from collections import namedtuple

d={}
ls=[]

def nest():
    with open ("details.csv", 'r') as f:
        reader=csv.DictReader(f)

        for row in reader:

            d.update(row)
            PersonalDetails = namedtuple('PersonalDetails','blood_group age sex')
            ContactInfo = namedtuple('ContactInfo','phone_number mobile_number')

            d1=copy.deepcopy(d)
            ls.append(d1)
        print ls

nest()

Tags: csv方法nameimportnumbernamedtuplelsreader
1条回答
网友
1楼 · 发布于 2024-09-29 02:26:55

以下是我如何更新我的dict of dicts:

我将创建一个函数,它将接受一个3个参数(子目录的键、所述子目录的子键和您要更改的值)。在

d = {
    'Name': 'A',
    'Personal Details': {'Blood Group': 'O +ve', 'Age': '1', 'Sex': 'M'},
    'Contact Info': {'Phone  Number': '01234567', 'Mobile Number': '9876543210'},
    'Date of Birth': '01-01-95'
    }


def updateInfo(toBeUpdated, subkey, ValueToUpdate):
    if toBeUpdated in d:
        tempdict = d[toBeUpdated]
        tempdict[subkey] = ValueToUpdate
        d[toBeUpdated] = tempdict
        print (d)
    else:
        print ("No %s to update" % (toBeUpdated))

updateInfo('Contact Info','Mobile Number','999 999 9999')

我得到的结果是:

^{pr2}$

相关问题 更多 >