无法获取列表项的索引

时间:2018-12-26 13:09:25

标签: python python-3.x

我有这两个列表:

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

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

我获得了这两个列表之间的共同点,如下所示: commonItems=list(set(list1).intersection(list2))

现在随机选择以下常见项目之一:

pick=random.sample(commonItems,1)

现在,当我尝试将上述列表之一中的已选择商品索引标识为: PickedItemIndex=list1.index(pick)

我收到此错误: ValueError:[8]不在列表中

即使您看到,项目8确实存在于list1中

出什么问题了? 我是一个新的pythonic。预先谢谢你。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

问题在于变量pick的类型是list

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

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