有没有办法在一个命令中制作一个不包含特定字典的字典列表?
使用两个命令可以完成:
aDict = {'a': 'cat', 'b': 'dog', 'c': 'cow'}
list1 = aDict.keys()
list1.remove('b')
我正在寻找像list1 = aDict.keys().remove('b')
这样的人。我知道这不起作用,但有效吗?
答案 0 :(得分:3)
您可以使用列表推导来迭代结果。例如:
list1 = [key for key in aDict if key != 'b']
会这样做。
答案 1 :(得分:1)
您可能正在寻找的是列表理解:
list1 = [key for key in aDict.keys() if key != 'b']
那就是说,正确的答案可能就是使用你提供的例子。 Python样式指南建议编写代码以最大化您正在做的事情的显而易见性。除非有充分的理由在单行中进行,否则需要更长的代码,以使您的意图更清晰。