1: "A",
2: "B",
3: "C",
4: "A",
5: "D",
}
match_data = {}
for (key, value) in data.items():
if value == 'A':
match_data[key] = value
print(match_data)
你是希望按照输入顺序输出还是按照key或者value的排序输出呢?
如果按照输入顺序输可以这样(方法一):
# 通过zip方法合并两个List为Dictionary# 遍历会按原先的顺序
keys = ["b", "a", "c", "e", "d"]
values = ["2", "1", "3", "5", "4"]
for key,value in zip(keys, values):
print(key,value)
# -- OUTPUT --
# b 2
# a 1
# c 3
# e 5
# d 4
如果按照输入顺序输出还可以这样(方法二):
import collectionsd=collections.OrderedDict()
d['a']='A'
d['b']='B'
d['c']='C'
for k,v in d.items():
print k,v
# -- OUTPUT --
#a A
#b B
#c C
如果按照key排序输出要这样:
x = {1:2, 3:4, 4:3, 2:1, 0:0}#升序
sorted_x = sorted(x.iteritems(), key=lambda x : x[0])
print sorted_x
# -- OUTPUT --
#[(0, 0), (1, 2), (2, 1), (3, 4), (4, 3)]
#降序
sorted_x = sorted(x.iteritems(), key=lambda x : x[0], reverse=True)
print sorted_x
# -- OUTPUT --
#[(4, 3), (3, 4), (2, 1), (1, 2), (0, 0)]
如果按照value排序输出要这样:
x = {1:2, 3:4, 4:3, 2:1, 0:0}#升序
sorted_x = sorted(x.iteritems(), key=lambda x : x[1])
print sorted_x
# -- OUTPUT --
#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
#降序
sorted_x = sorted(x.iteritems(), key=lambda x : x[1], reverse=True)
print sorted_x
# -- OUTPUT --
#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]