2024-10-03 11:14:51 发布
网友
我不知道如何对数组进行编码,使其值按相同字符串值在另一个数组中出现的顺序重新排序
例如:
Array1=[a,b,c] Array2 = [j,c,f,a,b,h] PrintedOutput=" c,a,b"
假设Array1中的每个元素都保证出现在Array2中,您可以使用
Array1
Array2
>>> sorted(Array1, key=Array2.index) ['c', 'a', 'b']
另一种更有效的方法是使用列表理解(如果您将第一个列表设置为一组):
>>> a1 = ['a', 'b', 'c'] >>> a2 = ['j', 'c', 'f', 'a', 'b', 'h'] >>> [x for x in a2 if x in a1] ['c', 'a', 'b']
特别是,正如另一个答案所指出的,这取决于第一个数组中的所有元素都出现在第二个数组中。如果第一个数组中的任何元素没有出现在第二个数组中,它们将在我的答案中被忽略,并在另一个答案中抛出一个错误
假设
Array1
中的每个元素都保证出现在Array2
中,您可以使用另一种更有效的方法是使用列表理解(如果您将第一个列表设置为一组):
特别是,正如另一个答案所指出的,这取决于第一个数组中的所有元素都出现在第二个数组中。如果第一个数组中的任何元素没有出现在第二个数组中,它们将在我的答案中被忽略,并在另一个答案中抛出一个错误
相关问题 更多 >
编程相关推荐