Python 在嵌套的dict中创建一个键,而不使用update函数
输入: 一, 二, 您能说有什么更好的方法或不同的方法来创建字典键,它可以作为值分配给dict项吗 原始代码:Python 在嵌套的dict中创建一个键,而不使用update函数,python,dictionary,key,Python,Dictionary,Key,输入: 一, 二, 您能说有什么更好的方法或不同的方法来创建字典键,它可以作为值分配给dict项吗 原始代码: d['Contact Info']={} d['Contact Info']['Mobile Number']=d['Mobile Number'] 以下是我将如何更新我的口述: 我将创建一个函数,该函数将接受3个参数(子ct的键、所述子ct的子键和您要更改的值)。我指定要更新,然后更新该值 import csv import copy from collections import
d['Contact Info']={}
d['Contact Info']['Mobile Number']=d['Mobile Number']
以下是我将如何更新我的口述: 我将创建一个函数,该函数将接受3个参数(子ct的键、所述子ct的子键和您要更改的值)。我指定要更新,然后更新该值
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()
我从中得到的结果是:
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')
setdefault()
。我能赢什么?如果你能用我的例子来解释,我可以接受你的答案,因为我是新手,我会的,但我不太清楚你在这里做什么。您是否试图以某种方式修改词典?或者将现有的词典嵌套在一个更大的词典中?像你的anushka的babushka吗?我读过一个csv文件,里面有姓名、年龄、黑帮号码、电话号码、出生日期、性别等详细信息。我正在尝试创建一个嵌套的联系信息目录,其中的mob no,phone town密钥及其值会更新到DictReader中,那么csv
模块及其DictReader
如何?如果csv文件中有100个值会怎么样???@anonymous乘以数百个值你是指数百行记录了客户或某个人的所有详细信息吗?100个姓名、年龄、,csv中个人的其他详细信息。我希望手机号码和电话号码的密钥、值对在另一个名为“联系人信息”的密钥中更新。但是我正在寻找除上面提到的两种更新方法之外的其他更新方法
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()
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')
{'Name': 'A', 'Personal Details': {'Blood Group': 'O +ve', 'Age': '1', 'Sex': 'M'}, 'Contact Info': {'Phone Number': '01234567', 'Mobile Number': '999 999 9999'}, 'Date of Birth': '01-01-95'}