我看了看,但我没有找到答案(我对python还很陌生)。问题很简单,我有一个由子列表组成的列表:
ll [[1,2,3], [4,5,6], [7,8,9]]
我想做的是创建一个字典,它把每个子列表的第一个元素作为键,把对应子列表的值作为值,比如:
d = {1:[2,3], 4:[5,6], 7:[8,9]}
我怎么能那样做呢?
1u4esq0p1#
使用dict comprehension:
{words[0]:words[1:] for words in lst}
输出:
{1: [2, 3], 4: [5, 6], 7: [8, 9]}
zlwx9yxi2#
使用字典理解(对于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]}
w8rqjzmb3#
你可以这样做:
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]}
t2a7ltrp4#
主题的另一个变体:
d = {e.pop(0): e for e in ll}
ifmq2ha25#
另一个:
d = {k: v for k, *v in ll}
5条答案
按热度按时间1u4esq0p1#
使用dict comprehension:
输出:
zlwx9yxi2#
使用字典理解(对于Python 2.7 +)和切片-
演示-
w8rqjzmb3#
你可以这样做:
t2a7ltrp4#
主题的另一个变体:
ifmq2ha25#
另一个: