使用字典键和值作为参数并附加到数组

时间:2017-07-01 23:29:05

标签: python excel dictionary

我有两个词典 - 基本词典和其他词典,我想使用额外的词典数据与功能交互并将数据附加到第一个词典。

dict_report = {'Id': p_id, 'First name': person_name, 'Age': p_age} #basic dict
iter_params = {'Shape': 0, 'Margin': 1} #additional

我有一个接受3个参数的函数,我想使用第二个dict值作为第一个参数。 比方说,用基本语言:

    def function():
        shape = concatvals(iter_params_mammo(['Shape'],14,19)) #goes to cell value directly
        margin = concatvals(iter_params_mammo(['Margin'], 14, 19))
        dict_report.add(shape,margin)
        return dict_report

应该返回

dict_report = {'Id': p_id, 'First name': person_name, 'Age': p_age, 'Shape': "specific shape", 'Margin': "specific margin"}

我可以以某种方式不指定shapemargin,但只是根据附加字典大小和值自动将新值附加到dict,但是使用它们的值来创建新数据吗?

2 个答案:

答案 0 :(得分:0)

不确定这是否是您想要的,但这是一份粗略的副本。

toda将根据传入的key从现有字典中提取值。

arba重新插入密钥。

shimi将更新为现有的dict,然后更新以添加新的键值对

dict_report = {'Id': 'p_id', 'First name': 'person_name', 'Age': 'p_age'}
kv = iter_params = {'Shape': 0, 'Margin': 1}

toda = iter_params.get('Shape')

arba = {'Shape': toda}

print(arba)


def dict_merge(x):
    shimi = dict_report
    shimi.update(x)
    print(shimi)
    return shimi


dict_merge(arba)

答案 1 :(得分:0)

我不确定你想要创建什么函数或参数,但据我所知,你只想合并字典并以其他方式返回它,所以,这就是:

dict_report = {'Id': "p_id", 'First name': "person_name", 'Age': "p_age"} #basic dict
iter_params = {'Shape': 0, 'Margin': 1}

def func(d1,d2,arg3):
    for k,v in d2.items():
        #perform function on v
        #e.g. v += 1 or whatever you want
        #add to dict_report
        d1[k] = v
    return d1

dict_report = func(dict_report,iter_params,"3rd parameter?")
print (dict_report)

打印:

{'Id': 'p_id', 'Shape': 0, 'First name': 'person_name', 'Margin': 1, 'Age': 'p_age'}