我有一本字典:
dic = {'Test': {'cities':5}}
在
中添加键值对很容易 dic['test']
简单地写
dic['Test']['random'] = 1
给出这样的输出。
{'Test' : {'cities':5, 'random':1}}
但是如果我想添加一个键:键值。即从上面的步骤我想要一个输出,如:
{'Test' : {'cities':5, 'random':1, 'class':{ section : 5}}}
这不起作用,我认为可行。 dic['Test']['class']['section'] = 5
它给出了一个关键错误'class'。
对于我的具体情况,我将数据框的行指定为迭代中的键,如下所示。
dic[df.iloc[i]['column1']][df.iloc[i]['column2']] = df.iloc[i]['column3']
其中column1本身不在键中。 怎么做,我使用python 2.7
答案 0 :(得分:3)
...
dic['Test']['class'] = {'section': 5}
答案 1 :(得分:2)
一行中有两个选项:
company_in_outs.inject({}) do |hash, record|
(hash[record.date] ||= []) << record
hash
end.values
分两行:
dic['Test']['class'] = {'section': 5}
答案 2 :(得分:1)
您也可以使用if (aStream == inputStream) {
uint8_t buffer[4096];
int len;
NSString* tempOutput = @"";
while ([inputStream hasBytesAvailable]) {
len = (int)[inputStream read:buffer maxLength:sizeof(buffer)];
NSLog(@"\nThe length is -- %d\n",len);
if (len > 0) {
NSData *data = [[NSData alloc] initWithBytes:buffer length:len];
output = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
tempOutput = [tempOutput stringByAppendingString:output];
// output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSUTF8StringEncoding];
}
}
output = tempOutput;
}
。
update
答案 3 :(得分:0)
>>> dic
{'Test': {'cities': 5}}
>>> dic['Test']
{'cities': 5}
>>> dic['Test']['random'] = 1
>>> dic
{'Test': {'random': 1, 'cities': 5}}
>>> dic['Test']['class'] = {'section':5}
>>> dic
{'Test': {'random': 1, 'cities': 5, 'class': {'section': 5}}}
>>>