如果我有一个如下所示的字典,那么最好的方法是什么
1d 然后根据该键删除这些项目
c = {('1d','f1'):1.5,('1w','f1'):1.2,('1d','f2'):1.4}
谢谢
>>> c = {('1d','f1'):1.5,('1w','f1'):1.2,('1d','f2'):1.4}
>>> {k: v for k, v in c.items() if k[0] != '1d'}
{('1w', 'f1'): 1.2}
Run Code Online (Sandbox Code Playgroud)
对于一般情况使用if '1d' not in k.在Python 2.x中使用dict.iteritems(迭代器而不是列表)
>>> c = {('1d','f1'):1.5,('1w','f1'):1.2,('1d','f2'):1.4}
>>> {k: v for k, v in c.iteritems() if '1d' not in k}
{('1w', 'f1'): 1.2}
Run Code Online (Sandbox Code Playgroud)
在py2.x中使用,c.iteritems()因为它返回一个迭代器,对于py3.x你可以使用c.items().
请注意,c.items()这两个版本都有效.