【发布时间】:2017-11-05 04:02:54
【问题描述】:
我有一个 Python 数组字典,这样
dictionary={a:[1,2,3,4],b:[2,3,4,8],c:[3,5,6,5]}
等等等等
我已经对字典进行了排序,现在它按每个数组的第四项排序,因此顺序为 b、c、a
dictionary=sorted(dictionary.values(),key=itemgetter(3),reverse=True)
问题是,当我尝试遍历键时,它会将键作为数组本身射出。
for key in dictionary:
print(key)
打印出 [2,3,4,8],但是,我希望它按顺序遍历 b,c,a。
有没有简单的方法可以做到这一点?
【问题讨论】:
-
这不是真正的代码。 python中没有
TRUE。您正在按4搜索,但列表索引在 python 中从0开始,因此列表中的4没有元素。字典定义将无效,因为a、b未定义。 -
你到底想做什么?
-
@e4c5 啊,对不起,我在 stackoverflow 上有点新,正在从我的另一台计算机上复制代码。至于字典,这只是一个例子,假设字典['a'] 返回 [1,2,3,4],以此类推。
-
@rosh 我正在尝试使用键遍历字典,但是当我对字典进行排序时,键从正常的 a、b、c 更改为数组本身。我试图弄清楚当我使用 for 循环而不是数组时,键是否仍然可以是 a、b、c。
-
它返回一个数组,因为 sorted 函数返回一个现在被字典引用的列表。您无法对字典进行排序。
标签: python arrays sorting dictionary