排序数组输出 python

Sort array output python

array1 = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]

我正在尝试编写代码对数组进行排序

使用列表理解,您可以执行以下操作:

array1 = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
array2 = [ "c", "a","b"]

Z = [b for b in array1 if any(b in a for a in array2)]
print(Z)

输出:

['a', 'b', 'c']

不清楚“以另一个数组的格式对数组排序”是什么意思?如果你的意思是对数组的一个子集进行排序,使子集中的顺序与数组中的顺序相同,你可以使用类似

sorted(array2,key = lambda k:array1.index(k))

这将对 array2 进行排序,以便 array2 的任意两个元素与数组 1 中的顺序相同。注意需要“子集”。如果 array2 中有一个元素不在 array1

中,这将失败