我的空字典开头为:
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]}
答案 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]}