【发布时间】:2013-04-04 01:24:03
【问题描述】:
我有一个包含各种键的字典列表,它们都是整数,我需要编写一个函数,它使用插入排序来按特定键对它们进行排序。
def insertionsort(alldata, key):
for i in alldata :
temp = alldata[i]
j = i
while j > 0 and alldata[i['key']] < alldata[j - 1['key']]: # no idea how to put this
alldata[j] = alldata[j-1]
alldata[j] = temp
【问题讨论】:
-
您这样做是为了教育目的吗?如果不只是使用
sort和key参数。 -
@Igonato 是的,用于教育目的!
-
您需要在
for循环之后缩进所有内容。此外,您可以使用for (key_a, key_b) in (dict_a, dict_b):获取密钥,然后在第二个 for 循环中进行比较。 -
@movrev 非常感谢!我理解缩进部分,但不幸的是,由于我对 python 很陌生,我不知道如何完成你建议的第二部分,你能告诉我一些示例代码吗?
-
我的意思是让你像这样使用它:
for (key_i, key_j) in (alldata[i], alldata[j-1]):.
标签: python list dictionary insertion-sort