2024-09-27 23:23:59 发布
网友
我在想 有没有可能过滤一个dict比
>>> a={1:'a',2:'b',3:'c',4:'d',5:'e'} >>> filterlist=[1,3,5] >>> b=dict((key,value) for key,value in a.iteritems() if key in filterlist) >>> b {1: 'a', 3: 'c', 5: 'e'}
筛选(排序)可能基于值或键
EDIT1:如以下注释所述,它的过滤没有排序
我想你的意思是过滤,而不是分类。以下是一种更优雅的方法(IMO),使用字典理解按键过滤字典:
>>>a = {1:'a', 2:'b', 3:'c', 4:'d', 5:'e'} >>>filterlist = [1, 3, 5] >>>b= {key: a[key] for key in filterlist} >>>b {1: 'a', 3: 'c', 5: 'e'}
使用评论中提到的OrderedDict
按键排序:
b = OrderedDict(sorted([(key, value) for (key,value) in a.items()]))
基于值排序:
b = OrderedDict(sorted([(value, key) for (key,value) in a.items()]))
我想你的意思是过滤,而不是分类。以下是一种更优雅的方法(IMO),使用字典理解按键过滤字典:
使用评论中提到的OrderedDict
按键排序:
基于值排序:
相关问题 更多 >
编程相关推荐