Python嵌套在列表推导中

时间:2012-10-22 12:50:16

标签: python list-comprehension nested-loops

嗨,假设我有一个列表理解

mynewdictionary = {key: ([value[0], value[1].strip('Bat')] if 'Bat' in value[1] else value) for key, value in myoriginaldictionary.iteritems()}

这样做,如果在myoriginaldictionary中找到'Bat',则查看value[1],因为值是一个包含两个项目的列表,我只关心第二个项目,如果是确实有'Bat',将密钥附加到我的新字典中。

但是我想做一个if if语句。

我想补充一下,如果len(value) > 0那就完成所有这些,如果没有跳过。

myolddictionary= {[key1: 'Bat I am'], ['Key2': 'I am nothing'], [key3: '']}

mynewdictionary={[key1: 'I am'], ['Key2': 'I am nothing']}

1 个答案:

答案 0 :(得分:1)

你是说你想要这样的东西吗?:

mynewdictionary = {key: ([value[0], value[1].strip('Bat')] 
                         if 'Bat' in value[1] else value) 
                        for key, value in myoriginaldictionary.iteritems() 
                        if value}