2024-04-26 12:10:58 发布
网友
我有两张单子
A=[5,2,3,4,1]
B=[3,1,5]
我希望使用A对B进行排序,以便输出反映: [5,3,1]
我如何实现这一点?在
对于就地分拣,应该这样做:
B.sort(key=A.index)
否则你可以这样做(根据乔恩·克莱门茨……):
工作原理:
key参数是一个函数(在这里使用lambdas很常见…)列表根据函数的输出进行排序。以下示例说明:
key
A = [{'a':100,'b':10},{'a':56,'b':100},{'a':90,'b':90}] A.sort(key=lambda x:x['a']) print(A) A.sort(key=lambda x:x['b']) print(A)
该输出:
[{'a':56,'b':100},{'a':90,'b':90},{'a':100,'b':10}] [{'a':100,'b':10},{'a':90,'b':90},{'a':56,'b':100}]
你可以用。。。但一切都取决于你在追求什么-还有其他方法。。。
>>> a = [5, 2, 3, 4, 1] >>> b= [3, 1, 5] >>> sorted(b, key=a.index) [5, 3, 1]
或者正如@Manan所指出的那样-您可以使用a.sort(...)进行就地排序
a.sort(...)
如果我对你的问题的理解是正确的,你想做以下事情:
A = [5,2,3,4,1] B = [3,1,5] C = [] for i in range(len(A)): if A[i] in B: C += [A[i]] print C # [5, 3, 1]
希望这有帮助。
对于就地分拣,应该这样做:
否则你可以这样做(根据乔恩·克莱门茨……):
^{pr2}$工作原理:
key
参数是一个函数(在这里使用lambdas很常见…)列表根据函数的输出进行排序。以下示例说明:该输出:
你可以用。。。但一切都取决于你在追求什么-还有其他方法。。。
或者正如@Manan所指出的那样-您可以使用
a.sort(...)
进行就地排序如果我对你的问题的理解是正确的,你想做以下事情:
希望这有帮助。
相关问题 更多 >
编程相关推荐