我有一个列表列表,我想将其转换为4值字典,其中每个列表中的第一个值是键。例如,列表将是:
[['267-10-7633', '66', '85', '74', 0], ['709-40-8165', '71', '96', '34', 0]]
我希望它是
{"267-10-7633":[66,85,74,0], "709-40-8165", [71,96,34,0] }
答案 0 :(得分:3)
您可以使用词典理解:
10:00 AM
如果您使用的是python2,似乎您无法使用lst = [['267-10-7633', '66', '85', '74', 0], ['709-40-8165', '71', '96', '34', 0]]
{k: v for k, *v in lst}
# {'267-10-7633': ['66', '85', '74', 0], '709-40-8165': ['71', '96', '34', 0]}
来解压缩多个元素:
*v
这里没有关注类型转换。我想你可以参考其他答案来了解如何做到这一点。
答案 1 :(得分:1)
dict
理解,使用list
理解来编译字典,将字符串转换为int
:
> lst = [['267-10-7633', '66', '85', '74', 0], ['709-40-8165', '71', '96', '34', 0]]
> {l[0]: [int(x) for x in l[1:]] for l in lst}
{'267-10-7633': [66, 85, 74, 0], '709-40-8165': [71, 96, 34, 0]}
答案 2 :(得分:0)
简单直接的解决方案。
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
答案 3 :(得分:0)
列表推导在这种情况下是合适的
{element[0]: [int(x) for x in element[1:]] for element in\
[['267-10-7633', '66', '85', '74', 0], ['709-40-8165', '71', '96', '34', 0]]}
答案 4 :(得分:0)
一种简单的方法:
your_list = [['267-10-7633', '66', '85', '74', 0], ['709-40-8165', '71', '96', '34', 0]]
dictionary = {}
for item in your_list:
dictionary[item[0]] = [int(i) for i in item[1:]]
print(dictionary)
list
和dict
理解:
dictionary = {item[0]: [int(i) for i in item[1:]] for item in your_list}
print(dictionary)
在这两种情况下,输出:
{'267-10-7633': [66, 85, 74, 0], '709-40-8165': [71, 96, 34, 0]}
答案 5 :(得分:0)
ll = [['267-10-7633', '66', '85', '74', 0], ['709-40-8165', '71', '96', '34', 0]]
mydict = {}
for item in ll:
key,*values = item
mydict[key] = values
print(mydict)