Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t返回数组中的元素索引_Python_Arrays_List_Python 3.x_Indexing - Fatal编程技术网

Python Can';t返回数组中的元素索引

Python Can';t返回数组中的元素索引,python,arrays,list,python-3.x,indexing,Python,Arrays,List,Python 3.x,Indexing,我想多次使用array.index(x)函数来查找小列表中的元素索引及其在较大列表中的位置。例如,我有 a=1 b=2 c=1 d=2 small_list = [a, b, c] full_list = [d, c, b, a] x=small_list.index(c) y=full_list.index(x) z=full_list[y] 跑步时,我会 x=0 y=0 z=2 但是我想得到 x=2 y=1 z=1 如何更改代码以执行此操作? 我可以看到,当我运行代码时,它正在查找

我想多次使用array.index(x)函数来查找小列表中的元素索引及其在较大列表中的位置。例如,我有

a=1
b=2
c=1
d=2

small_list = [a, b, c]
full_list = [d, c, b, a]

x=small_list.index(c)
y=full_list.index(x)
z=full_list[y]
跑步时,我会

x=0
y=0
z=2
但是我想得到

x=2
y=1
z=1
如何更改代码以执行此操作? 我可以看到,当我运行代码时,它正在查找c的值。我如何阻止这种情况发生


编辑:我自己的问题答案如下。

看起来它返回了正确的值!您的列表[a,b,c]是[1,2,1]。因此索引(c)(或索引(1))返回c的第一个实例,即spot 0。

您使用的是
列表,而不是
数组。
list.index()
方法返回指定的第一个值的
index
。所以,当你要求

small_list.index(c)
您将得到
c
索引,分别是值0和1


啊,我找到了我需要做的事情: 列表不是我想要做的事情的正确基础,我认为我应该使用元组。 那样的话,如果我定义

tuple1 = (a, b, c)
tuple2 = (d, c, b, a)

print(tuple1[c]) # =2
print(tuple2[c]) # =1
这就是我想要的。本质上,我希望代码找到变量c的位置,而不是c值的位置


感谢所有回答者。

调用
小列表。索引(c)
相当于调用
小列表。索引(1)
。 解释器计算
c
的值,该值为1

index()
返回指定值的第一次出现的位置,即位置0


请参阅:

“跑步时,我会……”你会这样做吗?我获取
值错误:0不在列表中
。这是您的实际代码吗?我不确定您的示例输入是如何导致示例输出的。当然,您的
小列表中的第一个索引1不是2。