gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 07:40:53 29 4
gpt4 key购买 nike

我有两个 list ,一个是产品的 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]]
我更愿意在没有 Pandas 的情况下执行此操作,但我想知道如何执行此操作,或者仅使用 Pandas 创建一个数据框并按产品 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]
但是,我想知道如何获得 index_prod1 ,我是否必须执行 for 循环并附加每个值?
那,以及我如何使它更通用,以便如果将更多产品添加到两个列表中,该模型仍然可以工作,因为这需要适用于不断变化的产品数量。

最佳答案

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]

out = {}
for a, b in zip(product_id, price_id):
out.setdefault(b, []).append(a)

out = [[k, *v] for k, v in out.items()]
print(out)
打印:
[[1, 40, 39, 41, 42], [9, 56, 52, 58], [25, 15, 17, 12, 14, 19]]

关于python - 如何在python中找到具有特定值的列表中所有元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67470955/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com