迭代python字典?

时间:2015-12-10 23:35:39

标签: python dictionary iteration

我有一个字典,其中键是整数,值是字符串。字典已使用键值排序。 我需要将相应的字符串值(保持排序顺序)复制到列表中。我无法弄清楚如何迭代字典。

我知道字典中键值对的数量(让它为'n')。

sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(Username, usernameTxt);
editor.putString(Password, passwordTxt);

字典是使用OrderedDict从某些字典'dic'中排序的,如下所示;

    Some_ordered_dict
    resultant_list=[]
    for i in range(n):
        resultant_list.append(Some_ordered_dict[increment-key?]

关键是我必须以与排序字典中出现的顺序相同的顺序显示字典的字符串值。

4 个答案:

答案 0 :(得分:3)

resultant_list = [d[k] for k in sorted(d)]

答案 1 :(得分:1)

标准Python字典不保证字典中的项目将以任何顺序保存。接下来的事情是你必须使用" for in"声明如下:

Some_ordered_dict
    resultant_list=[]
    for i in Some_ordered_dict:
        resultant_list.append(Some_ordered_dict[i])

您应该查看the ordered dict collection以确保您的字典中的项目按照您期望的顺序保存。

答案 2 :(得分:1)

在python中使用标准的无序字典,您可以使用以下内容:

resultant_list = []
for i in sorted(dict.keys()):
    resultant_list.append(dict[i])

答案 3 :(得分:0)

如其他帖子所述,词典不保证订单。获取排序列表的一种方法是从dict(键,值)对中创建元组列表,然后根据第一个元素(键)对此列表进行排序,如下所示:

Spider