Python,结合字典中的列表

时间:2017-08-03 17:32:22

标签: python list dictionary append add

是否可以将字典中的列表组合到新密钥中? 例如,我有一个字典设置

    ListDict = {
    'loopone': ['oneone', 'onetwo', 'onethree'],
    'looptwo': ['twoone', 'twotwo', 'twothree'],
    'loopthree': ['threeone', 'threetwo', 'threethree']}

我想要一个名为' loopfour'的新密钥。其中包含来自' loopone',' looptwo'以及' loopthree'

的列表

所以它的列表看起来像

    ['oneone', 'onetwo', 'onethree', 'twoone', 'twotwo', 'twothree', 'threeone', 'threetwo', 'threethree']

可以使用ListDict [' four']调用并返回组合列表

1 个答案:

答案 0 :(得分:2)

只需在列表解析中使用两个for子句。但是请注意,字典不是有序的,因此结果列表的顺序可能与最初放在字典中的顺序不同:

>>> ListDict['loopfour'] = [x for y in ListDict.values() for x in y]
>>> ListDict['loopfour']
['oneone', 'onetwo', 'onethree', 'twoone', 'twotwo', 'twothree', 'threeone', 'threetwo', 'threethree']

如果您想订购,那么:

>>> ListDict['loopfour'] = [x for k in ['loopone', 'looptwo', 'loopthree'] for x in ListDict[k]]
>>> ListDict['loopfour']
['oneone', 'onetwo', 'onethree', 'twoone', 'twotwo', 'twothree', 'threeone', 'threetwo', 'threethree']