Python 无法获取列表项的索引

Python 无法获取列表项的索引,python,python-3.x,Python,Python 3.x,我有两份清单: list1=[1,3,8,14,20] list2=[1,2,7,8,14,20] 我获得了这两个列表之间的常见项,如下所示: commonItems=列表(集合(列表1).交叉点(列表2)) 现在随机挑选一个常见项目,如下所示: pick=random.sample(commonItems,1) 现在,当我尝试在上面的列表中识别拾取的项目索引时,如下所示: PickedItemIndex=list1.index(pick) 我得到了这个错误: ValueError:[8]不在列

我有两份清单:

list1=[1,3,8,14,20]

list2=[1,2,7,8,14,20]

我获得了这两个列表之间的常见项,如下所示:
commonItems=列表(集合(列表1).交叉点(列表2))

现在随机挑选一个常见项目,如下所示:

pick=random.sample(commonItems,1)

现在,当我尝试在上面的列表中识别拾取的项目索引时,如下所示:
PickedItemIndex=list1.index(pick)

我得到了这个错误: ValueError:[8]不在列表中

即使如您所见,列表1中确实存在第8项

有什么问题?
我是一个新的蟒蛇。提前感谢。

发生错误是因为变量“pick”是一个列表。 下面的代码将无错误地运行:

pick=random.sample(commonItems,1)
PickedItemIndex=list1.index(pick[0])

pick[0]是列表“pick”(仅包含1个元素)的第一项。

由于变量“pick”是一个列表,因此发生错误。 下面的代码将无错误地运行:

pick=random.sample(commonItems,1)
PickedItemIndex=list1.index(pick[0])

pick[0]是列表“pick”(仅包含1个元素)的第一项。

问题在于变量
pick
的类型是一个
列表

您需要将
int
传递给
index
命令:

In [314]: list1.index(pick[0])
Out[314]: 4

问题是变量的类型
pick
是一个
列表

您需要将
int
传递给
index
命令:

In [314]: list1.index(pick[0])
Out[314]: 4

注意:另一种方法是使用这样的知识,即它是预期的标量值,例如
[pick]=random。sample(commonItems,1)
将立即解压生成的
列表
,因此您可以直接使用
pick
,此后无需索引。@Paulo由于答案有帮助,请也进行投票。谢谢。注意:另一种方法是使用这样的知识,即它是预期的标量值,例如
[pick]=random。sample(commonItems,1)
将立即解压生成的
列表
,因此您可以直接使用
pick
,而无需索引。@Paulo由于答案有帮助,请也进行投票。谢谢