|
发表于 2017-11-30 11:32:55
|
显示全部楼层
本帖最后由 shigure_takimi 于 2017-11-30 11:45 编辑
- def getNumber(number):
- while number > 9:
- number = sum([int(i) for i in str(number)])
- return number
- def getOrderedList(list1, list2):
- newList1 = [getNumber(i) for i in list1]
- newList2 = list(zip(newList1, list1))
- newList3 = [list(i) for i in newList2]
- numberDict = {list2[i]:i for i in range(len(list2))}
- for i in newList3:
- i[0] = numberDict[i[0]]
- newList3= sorted(newList3)
- resultList = [i[1] for i in newList3]
- return resultList
- list1 = [684, 6299800, 6041028, 2458660284, 937, 7857867, 384147026736, 888843160862, 270]
- list2 = [1, 6, 7, 4, 9, 3, 2, 5, 8]
- print(getOrderedList(list1, list2))
-
- # result: [937, 384147026736, 6299800, 270, 684, 2458660284, 6041028, 7857867, 888843160862]
- # 方法比较笨,但算是做出来了。
复制代码 |
|