将字典键和值插入python列表

时间:2019-05-06 11:52:39

标签: python

我试图将字典的键和值插入python列表。我似乎无法弄清楚该怎么做。

services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
    .ConfigureApiBehaviorOptions(options =>
    {
        options.SuppressMapClientErrors = true;
    };

我想要的是

my_dict={test1:[1,2,3,4],test2:[2,3,4,5]}

我是python的新手,所以将不胜感激。

5 个答案:

答案 0 :(得分:7)

应该这样做
我们需要遍历字典,并创建一个包含键和值的列表,请注意,我们需要展开值数组*value才能追加到列表中

my_dict={'test1':[1,2,3,4],'test2':[2,3,4,5]}

#Iterate over key and value, and make a list from them, unrolling the value since it is a list
my_list = [[key, *value] for key, value in my_dict.items()]
print(my_list)
#[['test1', 1, 2, 3, 4], ['test2', 2, 3, 4, 5]]

答案 1 :(得分:5)

使用列表理解

例如:

my_dict={"test1":[1,2,3,4],"test2":[2,3,4,5]}

my_list = [[k] +v for k, v in my_dict.items()]
print(my_list)

输出:

[['test1', 1, 2, 3, 4], ['test2', 2, 3, 4, 5]]

答案 2 :(得分:3)

其他解决方案使用列表推导,这对于刚接触python的人来说可能太复杂了,因此这是一个没有列表推导的解决方案。

my_dict={"test1":[1,2,3,4],"test2":[2,3,4,5]}

new_list = []
for key, value in my_dict.items():
    print(key, value)

    temp = []
    temp.append(str(key))
    for a in value:
        temp.append(a)
    new_list.append(temp)

print(new_list) 
# [['test1', 1, 2, 3, 4], ['test2', 2, 3, 4, 5]]

答案 3 :(得分:1)

这是一个没有列表理解的版本,我记得我刚接触python时花了几个月的时间来理解语法。

my_dict={'test1':[1,2,3,4],'test2':[2,3,4,5]}

my_list = []

for key, value in my_dict.items():
    my_list.append([key, *value]) # the '*value' bit means all elements of the 'value' variable

print(my_list)

答案 4 :(得分:1)

FOMO:

my_dict={'test1':[1,2,3,4],'test2':[2,3,4,5]}
x = lambda a:[a[0],*a[1]]; print([x(i) for i in my_dict.items()])
#[['test1', 1, 2, 3, 4], ['test2', 2, 3, 4, 5]]