Skip to main content
 首页 » 编程设计

python之将元组列表转换为字典,给每个元组一个不同的键

2025年05月04日13cloudgamer

我有一个由以特定方式排序的 x、y 坐标组成的元组列表,我想将其转换为字典,其中每个元组都有一个不同的键。

我应该怎么做?如果名称不可行,数字也可以。 最终目标是将所有不同的点绘制为类别。

# list of tuples 
ordered_points = [(1188.0, 751.0),(1000.0, 961.0),(984.0, 816.0),(896.0, 707.0),(802.0, 634.0),(684.0, 702.0),(620.0, 769.0)] 
 
 
# what I want  
orderder_points_dict = {'pointing finger':(1188.0, 751.0), 'middle finger':(1000.0, 961.0) etc...} 

请您参考如下方法:

如果你有兴趣,只用数字作为索引,你可以使用enumerate来做到这一点

>>> ordered_points = [(1188.0, 751.0),(1000.0, 961.0),(984.0, 816.0),(896.0, 707.0),(802.0, 634.0),(684.0, 702.0),(620.0, 769.0)] 
>>>  
>>> dict(enumerate(ordered_points)) 
{0: (1188.0, 751.0), 1: (1000.0, 961.0), 2: (984.0, 816.0), 3: (896.0, 707.0), 4: (802.0, 634.0), 5: (684.0, 702.0), 6: (620.0, 769.0)} 

或者如果您将键放在单独的列表中,

>>> keys 
['key0', 'key1', 'key2', 'key3', 'key4', 'key5', 'key6'] 
>>>  
>>> dict(zip(keys,ordered_points)) 
{'key0': (1188.0, 751.0), 'key1': (1000.0, 961.0), 'key2': (984.0, 816.0), 'key3': (896.0, 707.0), 'key4': (802.0, 634.0), 'key5': (684.0, 702.0), 'key6': (620.0, 769.0)} 
>>>