如何以特定格式将数据添加到字典?

时间:2019-03-01 21:53:28

标签: python dictionary

我的空字典开头为:

dict = {}

我有一些要放入该词典中的数据:

sample_list = [[1,2,3], [3,4,5], [5,6,7]]

我需要这样的格式:

dict = {'key1': [1,2,3], 'key2': [3,4,5], 'key3': [5,6,7]}

我尝试了不同的方法...从未像我计划的那样工作。 这是我想出的最好的解决方案,但是问题是,它每次都会替换一个值。

for item in sample_list:
    for i in item:
        dict[str(item)] = i

最后我留下了:

dict{'1,2,3': 3, '3,4,5': 5, '5,6,7': 7}

但我想要

dict{'1,2,3': [1,2,3], '3,4,5': [3,4,5], '5,6,7': [5,6,7]}

5 个答案:

答案 0 :(得分:4)

如果这是您想要的输出,这应该可以工作:

for item in sample_list: 
    dict[str(item)] = item

答案 1 :(得分:2)

使用字典理解,这应该可以工作:

new_dict = { str(item)[1:-1]: item for item in sample_list }

顺便说一句,调用与内置dict函数冲突的变量dict()是个坏主意。

答案 2 :(得分:2)

词典理解

{','.join(map(str,item)):item for item in sample_list}

输出

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

答案 3 :(得分:1)

如果您希望获得如顶部所述的输出,则可以使用枚举:

sample_list = [[1,2,3], [3,4,5], [5,6,7]]
output = {}

for num, sublist in enumerate(sample_list):
    output["key{}".format(num)] = sublist

如果想要输出的结尾如何,则需要将列表隐藏为字符串(只有不可变的对象才可以是字典中的键-字符串,而不是列表)

sample_list = [[1,2,3], [3,4,5], [5,6,7]]
output = {}

for sublist in sample_list:
    output[str(sublist)] = sublist

答案 4 :(得分:0)

您可以这样做:

dict = { f"key{index+1}":item for index,item in enumerate(sample_list) }

# {'key1': [1, 2, 3], 'key2': [3, 4, 5], 'key3': [5, 6, 7]}