【问题标题】:Get first element of sublist as dictionary key in python获取子列表的第一个元素作为python中的字典键
【发布时间】:2015-09-16 09:23:26
【问题描述】:

我看了,但没有找到答案(而且我对 python 还很陌生)。

这个问题很简单。我有一个由子列表组成的列表:

ll
[[1,2,3], [4,5,6], [7,8,9]]

我要做的是创建一个字典,该字典将每个子列表的第一个元素作为键,并将相应子列表的值作为值,例如:

d = {1:[2,3], 4:[5,6], 7:[8,9]}

我该怎么做?

【问题讨论】:

    标签: python list dictionary sublist


    【解决方案1】:

    使用dict comprehension

    {words[0]:words[1:] for words in lst}
    

    输出:

    {1: [2, 3], 4: [5, 6], 7: [8, 9]}
    

    【讨论】:

      【解决方案2】:

      主题的另一个变体:

      d = {e.pop(0): e for e in ll}
      

      【讨论】:

        【解决方案3】:

        使用字典理解(对于 Python 2.7 +)和切片 -

        d = {e[0] : e[1:] for e in ll}
        

        演示 -

        >>> ll = [[1,2,3], [4,5,6], [7,8,9]]
        >>> d = {e[0] : e[1:] for e in ll}
        >>> d
        {1: [2, 3], 4: [5, 6], 7: [8, 9]}
        

        【讨论】:

          【解决方案4】:

          你可以这样做:

          ll = [[1,2,3], [4,5,6], [7,8,9]]
          dct = dict( (item[0], item[1:]) for item in ll)
          # or even:   dct = { item[0]: item[1:] for item in ll }
          print(dct)
          # {1: [2, 3], 4: [5, 6], 7: [8, 9]}
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-10
            • 1970-01-01
            • 2020-07-31
            • 2012-03-03
            • 1970-01-01
            • 2019-04-24
            • 1970-01-01
            相关资源
            最近更新 更多