我有这两个列表:
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。预先谢谢你。
答案 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