谢谢哦!
这个有4种情况,看看你要哪一种
# 获取列表a的元素在列表b中的索引
a=["a","b","c"]
b=["b","c","a"]
c=[b.index(x)+1 for x in a]
print(c) # [3, 1, 2]
# 获取列表b的元素在列表a中的索引
a=["a","b","c"]
b=["b","c","a"]
c=[a.index(x)+1 for x in b]
print(c) # [2, 3, 1]
# 用列表c中的值为索引获取列表a的元素进行重新排列
a=["a","b","c"]
c=[3, 1, 2]
b=[a[x-1] for x in c]
print(b) # ['c', 'a', 'b']
# 把列表a的元素移动到列表c中的值为索引的位置
a=["a","b","c"]
c=[3, 1, 2]
b=[None] * len(a)
for v,i in zip(a,c):
b[i-1] = v
print(b) # ['b', 'c', 'a']
a=["a","b","c"]
b=["b","a","c"]
c=[a.index(x) for x in b]
print(c)
可以实现的, Python中的列表是中括号的形式 "[ ]", 小括号在Python中是元组(不可变列表)
Python中的索引是从"0"开始的, 可以使用 len( ) 函数的到列表的长度再 for 循环取出来(相当于索引)
a = ['a','b','c']
c=[]
for i in range(len(a)):
c.append(i)
print(c) # [0, 1, 2]
a = ['a','b','c'] b = ['c','a','b'] for index,i in enumerate(a): for var in b: if var == i: b[b.index(var)] = index print(b)
或者使用 enumerate( ) 函数, 该函数可以取两个值 : 元素索引、元素值, 这种方法就比较直接
a = ['a','b','c']
c=[]
for i,v in enumerate(a):
c.append(i)
print(c) # [0, 1, 2]