python使用dict理解按项目选择和删除

如果我有以下这样的字典,什么是最好的方法

  1. 挑选所有具有部分钥匙的物品 1d

  2. 然后根据该键删除这些项目

    c = {('1d','f1'):1.5,('1w','f1'):1.2,('1d','f2'):1.4}


蝴蝶不菲
浏览 190回答 3
3回答

白板的微信

>>> 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}在py2.x中使用c.iteritems()它返回迭代器,对于py3.x可以使用c.items()。请注意,这c.items()将在两个版本中均适用。

九州编程

>>> 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}对于一般情况下使用if '1d' not in k。在Python 2.x中,使用dict.iteritems(迭代器而不是列表)代替

Qyouu

请考虑以下方法在python 2.7及更高版本中,您可以使用dict理解>>> c = {('1d','f1'):1.5,('1w','f1'):1.2,('1d','f2'):1.4}>>> {k: v for k, v in c.items() if '1d' not in k}{('1w', 'f1'): 1.2}在python 2.6及更低版本中,应使用generator代替dict>>> c = {('1d','f1'):1.5,('1w','f1'):1.2,('1d','f2'):1.4}>>> dict((k, v) for k, v in c.iteritems() if '1d' not in k){('1w', 'f1'): 1.2}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python