如何获取二维字符串列表并返回字典?每行的第一个元素是键

时间:2019-06-12 20:40:27

标签: python-3.x

获取字符串的2D列表(即列表列表)。它返回一个字典,该字典的键是每一行的第一元素,并且每个这样的键都映射到由该行的其余元素组成的列表。

热衷于极客的人试图解决这个问题。我得到了如何到达要从中提取的第一个列表的方法,但是我不知道如何转到此后的每个列表,然后将其作为值放入新字典中,而其余的字符串作为字典中的值。 / p>


def list2dict(list2d):
    new_dict = {}
    for i in range(list2d[0]):
        for j in range(2):
            new_dict.append[j] + ':' + list2d[j]
        return new_dict


list2d is a 2d list of strings

Input:

1. Let x1 be the following list of lists:
[ [ 'aa', 'bb', 'cc', 'dd' ],
  [ 'ee', 'ff', 'gg', 'hh', 'ii', 'jj' ],
  [ 'kk', 'll', 'mm', 'nn' ] ]

Output:
Then list2dict(x1) returns the dictionary
{ 'aa' : [ 'bb', 'cc', 'dd' ],
  'ee' : [ 'ff', 'gg', 'hh', 'ii', 'jj' ],
  'kk' : [ 'll', 'mm', 'nn' ]
}

Input
2. Let x2 be the following list of lists:
[ [ 'aa', 'bb' ],
  [ 'cc', 'dd' ],
  [ 'ee', 'ff' ],
  [ 'gg', 'hh' ],
  [ 'kk', 'll' ] ]

Output
Then list2dict(x2) returns the dictionary
{ 'aa' : [ 'bb' ],
  'cc' : [ 'dd' ],
  'ee' : [ 'ff' ],
  'gg' : [ 'hh' ],
  'kk' : [ 'll' ]
}

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找类似的东西... Online Version

def list2dict(list2d):
    new_dict = {}
    for i in list2d:
        key = i[0]
        list = i[1:len(i)]
        new_dict[key] = list
    print(new_dict)
    return new_dict