我得到了一些数据,如
l = ['1', '01.01.2000', 'code1', '2', '01.02.2000', 'code2', etc... ]
我需要将此列表转换为dicts列表,将项目分组3.将值 id,date,code 添加为dict的键
l = [{'id': '1', 'date':'01.01.2000', 'code':'code1'},
{'id': '1', 'date':'01.01.2000', 'code':'code1'},
etc...]
我使用此函数将元组中的列表拆分为3个元素
def group(lst, n):
for i in range(0, len(lst), n):
val = lst[i:i+n]
if len(val) == n:
yield tuple(val)
但不知道如何使用键将每个元组转换为dict
答案 0 :(得分:2)
简短解决方案:
[{'date': '01.01.2000', 'id': '1', 'code': 'code1'}, {'date': '01.02.2000', 'id': '2', 'code': 'code2'}]
输出:
preaparedstatement
答案 1 :(得分:0)
稍微修改您的代码以使用列表解包:
def group(lst, n):
dict_list = []
for i in range(0, len(lst), n):
val = lst[i:i+n]
dic = {}
dic['id'], dic['date'], dic['code'] = val
dict_list.append(dic)
return dict_list
答案 2 :(得分:0)
在这里,您可以使用列表推导的不同方法:
keys = ["id", "date", "code"]
[dict(zip(keys, l[i:i+3])) for i in range(0, len(l), 3)]