Python 在大数据字典中存储变量

Python 在大数据字典中存储变量,python,dictionary,namedtuple,Python,Dictionary,Namedtuple,我可以用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"

我可以用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,也将不胜感激


谢谢

要获得按某个键排序的词典列表,请使用
排序
。假设我有一个带有
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}]
:


我的第一个问题是如何从变量创建字典。像这个“{'vserver':(u'rcdn9-c01-sm-prod',”usize':u'389120','vname':(u'nprd_root_m01',),'aggr':(u'aggr1_n01',)}”我的第一个问题是如何从变量创建字典。比如这个“{'vserver':(u'rcdn9-c01-sm-prod',”,'usize':u'389120','vname':(u'nprd_root_m01',),'aggr':(u'aggr1_n01',)”
import heapq

interesting_dicts = ... filter to keep only the dicts you care about (e.g. online dicts) ...

for large in heapq.nlargest(5, interesting_dicts,
                            key=lambda d: d["volume-space-attributes"]["size-used"]):
    print(...)