执行列表项字典的连接

问题描述 投票:0回答:2

我有字典为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是'list'而不是字符串的错误。

当我通过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)

上面测试失败的输出(请注意输出中的括号)。如果我“键入”此值,则表明该值确实是一个列表:[“一些文字”,“一些其他文字”,....]

上面工作的嵌套“ for”循环在没有括号的情况下在单独的行上产生了上面的文本,其输出应该在联接中起作用以给出期望的结果。...

任何人都可以在这里解释我所缺少的吗?

python list dictionary join
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.