如何构建一个函数,该函数返回一个列表,该列表包含来自lst1的每个值,它在列表lst2中的位置

时间:2017-11-15 13:48:46

标签: python-3.6

在Python 3.6中,我从输入中得到两个列表,它们是彼此的排列。

例如:

清单1 = [4,2,8,3]
清单2 = [2,4,3,8]

我希望List 3 = [1,0,3,2]以列表2中列表1的所有元素的位置。

我已经构建了识别列表是否是排列的部分,然后我尝试在列表2中运行k的循环,并将list2 [k]附加到新列表中,但我得到的只是结果很混乱。

2 个答案:

答案 0 :(得分:1)

试试这个

List1 =  [4,2,8,3]
List2 =  [2,4,3,8]

def solve(a, b):
    result = []
    for x in range(0, len(a)):
        result.append(a.index(b[x]))
    return result

print solve(List1, List2)

答案 1 :(得分:0)

这就是我解决你所描述问题的方法:

List1 = [4, 2, 8, 3]
List2 = [2, 4, 3, 8]
List3 = []
for i in List1:
    List3.append(List2.index(i))

print(List3)

说明

  • 使用for语句,我迭代遍历List1的每个值。
  • List2.index()函数返回List2中给定值的索引。
  • 使用List3.append()我在List3的末尾添加此值

You can try it online here

我希望能够回答你的问题。