我可以在python中打印变量。
for h in jl1["results"]["attributes-list"]["volume-attributes"]:
state = str(h["volume-state-attributes"]["state"])
if aggr in h["volume-id-attributes"]["containing-aggregate-name"]:
if state == "online":
print(h["volume-id-attributes"]["owning-vserver-name"]),
print(' '),
print(h["volume-id-attributes"]["name"]),
print(' '),
print(h["volume-id-attributes"]["containing-aggregate-name"]),
print(' '),
print(h["volume-space-attributes"]["size-used"]
这些打印功能返回例如100行。现在我想根据“使用大小”的过滤器仅打印前5个值。 我试图在字典中取这些值,并过滤掉“使用过大小”的前五个值但不确定如何将它们带入字典中。
有些事情是这样的 {'vserver':( u'rcdn9-c01-sm-prod',),'usize':u'389120','vname':( u'nprd_root_m01',),'aggr':( u'aggr1_n01', )}
任何其他选项,如namedtuples也受到赞赏。
由于
答案 0 :(得分:0)
要获取按某个键排序的词典列表,请使用sorted
。假设我有一个包含a
和b
键的词典列表,并希望按b
元素的值对它们进行排序:
my_dict_list = [{'a': 3, 'b': 1}, {'a': 1, 'b': 4}, {'a': 4, 'b': 4},
{'a': 2, 'b': 7}, {'a': 2, 'b': 4.3}, {'a': 2, 'b': 9}, ]
my_sorted_dict_list = sorted(my_dict_list, key=lambda element: element['b'], reverse=True)
# Reverse is set to True because by default it sorts from smallest to biggest; we want to reverse that
# Limit to five results
biggest_five_dicts = my_sorted_dict_list[:5]
print(biggest_five_dicts) # [{'a': 2, 'b': 9}, {'a': 2, 'b': 7}, {'a': 2, 'b': 4.3}, {'a': 1, 'b': 4}, {'a': 4, 'b': 4}]
答案 1 :(得分:0)
heapq.nlargest
is the obvious way to go here:
it('returns my resource', function() {
var myUser = {name:'Bob'}
var promise;
$httpBackend.expectGET('/myresource').respond(200,myUser);
promise = myService.getMyUser()
.then(function(data) {
expect(data).toEqual(myUser);
},fail);
$httpBackend.flush();
expect(promise.$$state.status).toEqual(1);
});