Python:合并然后排序lis

2024-05-19 06:47:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子,比如一张是水果,另一张是等长但没有顺序的数字:

例如:

Fruits = ['apple', 'banana', 'pineapple', 'kiwifruit'],
Numbers = [3, 2, 4, 1]

我怎样才能首先分配号码

  • 3到苹果
  • 2到香蕉
  • 4到菠萝和
  • 1到猕猴桃

然后根据他们的新号码给他们排序?在

^{pr2}$

到目前为止,我的尝试包括枚举函数和排序函数,但我似乎不能先赋值然后排序。在


Tags: 函数苹果apple排序顺序数字号码单子
3条回答

numpy很酷

import numpy as np
fruits = np.array(['apple', 'banana', 'pineapple', 'kiwi'])
sorted_list = fruits[[2, 1, 3, 0]] #note its 0 based indexing ...
print sorted_list

作业可以这样做

In [25]: d = dict(zip(Numbers, Fruits))

In [26]: d
Out[26]: {1: 'kiwi', 2: 'banana', 3: 'apple', 4: 'pineapple'}

然后你可以根据字典

^{pr2}$
sortedlist = [x[1] for x in sorted(zip(Numbers, Fruits))]

相关问题 更多 >

    热门问题