我有一个 dict[keyA][key1] 形式的字典,其中 'key1' 是一个列表字典。即,keyA 是列表字典的字典。下面是如何创建字典的示例。
dict = { 'keyA': { 'keyA1': ['L1','L2',...], 'keyA2': ['L','L',...], ... },
'keyB': { 'keyB1': ['L1','L2',...], 'key...': ['L','L',..], ...}
}
我需要将列表的值连接在一起,并希望使用以下构造来做到这一点:
newStr = ' A B C '.join(val for val in (dict[keyA][k] for k in dict[keyA]))
这将失败,并显示 val 是“列表”与字符串的错误。
当我通过 2 for 循环解析 val 时,我会得到一个字符串列表,正如我期望上面提供的那样。
适用于外部字典中的一个条目并打印字符串列表的简单示例
for k in dict[keyA]:
for val in dict[keyA][k]:
print(val)
不起作用并打印“列表”的示例:
for val in (dict[keyA][k] for k in dict[keyA]): print(val)
上述失败测试的输出(注意输出中的括号)。如果我“输入”这个值,则表明该值确实是一个列表:['some text', 'some more text', ....]
上面的工作嵌套“for”循环在单独的行上生成上述文本,没有预期的括号,其输出应该在连接中工作以提供所需的结果....
谁能解释我在这里缺少什么?