我目前有一个字典,其中包含一个键,以及大约30列的字符串和整数格式的值。
例如:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at android.content.ContextWrapper.getPackageName(ContextWrapper.java:142)
我正在尝试以此顺序将Message: '0409-01:51:02.577'
Arguments: (['29', '30', '37', '5463', '84338', 'ABCD', 'x-abc1', 'xxx', '1A234BCD5EFG67890H1234IJ', 'ABCDEF', '02DA', '123456789', '1234567890', '1234567890', '1A234BCD5', '911', '1A234BCD5EF', '0', '12', '7', '1', '_', 'XY', 'ABC', '1A234BCDEF', 'ABCDEF', '1A234BCD', '1A234BCD', '1A234BCDDFW', 'L', '1'],)
提取到新的字典或列表中。
我尝试了在列表和字典之间变化,我尝试了一行还是多行。不幸的是,由于要从四个不同的来源中提取数据来构建输入,因此无法更改传入的字典。
`k`, `v[5]`, `v[12]`, `v[28]`, `v[25]`, `v[22`], `v[23]`, `v[9]`
应该发生的是键,并将这些值放在新的字典或列表中。但是我得到的是关键字段中的整行,然后是值项。
答案 0 :(得分:0)
我不确定这是否能回答您的问题,因为您尚未指出正确的结果是什么……但是,如果没有别的,也许这将为您提供一些见识。
const int SUB_FROM = 5;
for (int x = 0; x < canidateAnswers.Length; x++)
{
if (canidateAnswers[x].Length > SUB_FROM)
canidateAnswers[x] = canidateAnswers[x].Substring(SUB_FROM);
}
输出:
abcdef = ('ABC', 'DEF')
incoming_files = {'0409-01:51:02.577': ['29', '30', '37', '5463', '84338',
'ABCD', 'x-abc1', 'xxx',
'1A234BCD5EFG67890H1234IJ', 'ABCDEF',
'02DA', '123456789', '1234567890',
'1234567890', '1A234BCD5', '911',
'1A234BCD5EF', '0', '12', '7', '1', '_',
'XY', 'ABC', '1A234BCDEF', 'ABCDEF',
'1A234BCD', '1A234BCD', '1A234BCDDFW',
'L', '1']}
tc_wfiles = {}
for k, v in incoming_files.items():
if any(c in v for c in abcdef):
try:
tc_wfiles[k] = [k]
tc_wfiles[k].append(v[5])
tc_wfiles[k].append(v[12])
tc_wfiles[k].append(v[28])
tc_wfiles[k].append(v[25])
tc_wfiles[k].append(v[22])
tc_wfiles[k].append(v[23])
tc_wfiles[k].append(v[9])
except IndexError as exc:
print('exception:', exc)
from pprint import pprint
pprint(tc_wfiles)