如何在python中找到具有特定值的列表中所有元素的索引

如何在python中找到具有特定值的列表中所有元素的索引,python,list,indexing,Python,List,Indexing,我有两个清单,一个是产品的ID代码,另一个是价格 我计划将它们组合在一个列表中,第一个元素是产品ID,以下元素是价格,如下所示: product_id = [40, 56, 15, 17, 12, 39, 52, 41, 14, 19, 58, 42] price_id = [1, 9, 25, 25, 25, 1, 9, 1, 25, 25, 9, 1] list = [[1, 40, 39, 41, 42], [9, 56, 58, 52], [25, 12, 14, 19, 17, 15]

我有两个清单,一个是产品的ID代码,另一个是价格

我计划将它们组合在一个列表中,第一个元素是产品ID,以下元素是价格,如下所示:

product_id = [40, 56, 15, 17, 12, 39, 52, 41, 14, 19, 58, 42]
price_id = [1, 9, 25, 25, 25, 1, 9, 1, 25, 25, 9, 1]
list = [[1, 40, 39, 41, 42], [9, 56, 58, 52], [25, 12, 14, 19, 17, 15]]
我更愿意在没有熊猫的情况下这样做,但我想知道您如何做到这一点,或者只创建一个有熊猫的数据帧并按产品ID排序是否更好,因为这将使进一步的编码更容易,并且假设此布局,其余部分已经编码

到目前为止,我计划使用for循环将产品列表和价目表上的索引连接在一起,但我找不到所有的索引。我在想这样的事情:

index_prod1 = [0, 5, 7, 11]
prod1 = [1]

for i in range(len(index_prod1)):
    prod1.append(price_id[i])

list = [prod1, prod9, prod25]
但是,我想知道如何获得
索引\u prod1
,是否需要执行for循环并只附加每个值

这一点,我如何使其更具普遍性,以便在两个列表中添加更多产品时,模型仍能工作,因为这需要改变产品的数量。

product\u id=[40、56、15、17、12、39、52、41、14、19、58、42]
price_id=[1,9,25,25,25,1,9,1,25,25,9,1]
out={}
对于拉链中的a、b(产品标识、价格标识):
out.setdefault(b,[]).append(a)
out=[[k,*v]表示k,v表示in-out.items()]
打印(输出)
印刷品:

[[1,40,39,41,42],[9,56,52,58],[25,15,17,12,14,19]]

如果我理解你的问题,你可以使用enumerate

for idx, i in enumerate(index_prod1):
I是值,idx是索引
这就是你的意思吗

这看起来像是从price_id到产品id列表的dict映射,而不是每个元素都有特殊含义的嵌套列表。谢谢,这太完美了。我去投票支持你,但显然,作为一个新用户,我还不能这么做,但这太棒了,谢谢你。