【问题标题】:How can I zip list of list with a list into dictionary in python?如何在python中将带有列表的列表压缩到字典中?
【发布时间】:2020-12-20 19:18:24
【问题描述】:

如何在 Python 中将列表压缩到字典中?

示例

my_list_of_list =[[1,2,3],[0,2],[1,3]]
my list=[0,1,2]

我想要以下输出:

dictinoary={[0,1,2]:0 , [0,2]: 1 ,[1,3]:2}

我可以用两个列表来做,但如果其中一个是嵌入了更多列表的列表,我就不能。

【问题讨论】:

  • 这是不可能的,因为列表不能是字典键。
  • 为什么要使用列表作为字典的键?

标签: python arrays list dictionary zip


【解决方案1】:

您不能将列表用作字典中的键,因为它们不是hashable

一种解决方法可能是将列表键从my_list_of_list 转换为元组:

>>> my_list_of_list = [[1, 2, 3], [0, 2], [1, 3]]
>>> my_list = [0, 1, 2]
>>> dictinoary = {tuple(k): v for k, v in zip(my_list_of_list, my_list)}
>>> dictinoary
{(1, 2, 3): 0, (0, 2): 1, (1, 3): 2}

或者转换成字符串:

>>> dictinoary = {str(k): v for k, v in zip(my_list_of_list, my_list)}
>>> dictionary
{'[1, 2, 3]': 0, '[0, 2]': 1, '[1, 3]': 2}

【讨论】:

  • 太棒了!非常感谢你 。欣赏你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-21
  • 2021-02-10
  • 1970-01-01
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多