Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从元组的分组列表中列出同一元素的所有索引_Python_Blender - Fatal编程技术网

Python 从元组的分组列表中列出同一元素的所有索引

Python 从元组的分组列表中列出同一元素的所有索引,python,blender,Python,Blender,我正在制作一个脚本,将像素艺术转换为体素艺术。我有一个图像,并创建了一个分组列表,每个像素的RGBA值作为元组 RGBA_list = list(img.pixels) gl = [RGBA_list[ipx] for ipx in range(0, len(RGBA_list), 4)] 这是针对像素艺术的,所以许多颜色都是完全相同的,并且有少数独特的颜色。有没有办法获得每种颜色的多个索引列表 或者更好的措辞:获取图像中的每种颜色,然后针对每种颜色从该颜色的分组列表中获取索引列表您

我正在制作一个脚本,将像素艺术转换为体素艺术。我有一个图像,并创建了一个分组列表,每个像素的RGBA值作为元组

RGBA_list = list(img.pixels)
    
gl = [RGBA_list[ipx] for ipx in range(0, len(RGBA_list), 4)]
这是针对像素艺术的,所以许多颜色都是完全相同的,并且有少数独特的颜色。有没有办法获得每种颜色的多个索引列表


或者更好的措辞:获取图像中的每种颜色,然后针对每种颜色从该颜色的分组列表中获取索引列表

您有一个具有重复值的列表,并且您希望将其转换为值->索引列表,索引列表出现在图中。你可以利用。(另一种方法是使用setdefault,但defaultdict使其更简单、更干净。)
请参见下面的示例:

>>> info_list = [random.randint(1,5) for x in range(100)]
>>> info_list
[4, 5, 2, 2, 4, 3, 3, 1, 2, 4, 4, 2, 3, 1, 2, 3, 1, 4, 4, 2, 1, 1, 3, 3, 2, 1, 4, 4, 1, 5, 2, 2, 3, 5, 1, 4, 1, 4, 1, 3, 3, 2, 3, 2, 5, 4, 5, 3, 4, 4, 3, 2, 3, 2, 1, 2, 2, 4, 4, 1, 5, 2, 1, 1, 2, 3, 4, 5, 3, 4, 4, 3, 4, 1, 3, 4, 2, 1, 5, 3, 4, 3, 3, 5, 2, 2, 4, 5, 2, 2, 1, 5, 4, 5, 5, 1, 5, 3, 2, 2]

>>> from collections import defaultdict
>>> info_dict = defaultdict(list)
>>> for i, x in enumerate(info_list):
...     info_dict[x].append(i)
... 
>>> info_dict.keys()
dict_keys([4, 5, 2, 3, 1])
>>> info_dict[1]
[7, 13, 16, 20, 21, 25, 28, 34, 36, 38, 54, 59, 62, 63, 73, 77, 90, 95]

欢迎来到堆栈溢出!请考虑添加一个你的问题,因为它使它更容易回答它。例如,您可以制作一个示例
RGBA_列表
,并向我们展示您期望的输出。然后每个人都可以使用相同的列表进行回答。