json_data = {"map":[{"name":"test"}]}
def replicator(data, replica=1):
final_data = {}
for each_map_tcs in data.keys():
for each_tc in data[each_map_tcs]:
for i in range(replica):
if each_map_tcs not in final_data.keys():
final_data[each_map_tcs] = []
final_data[each_map_tcs].append(each_tc)
each_tc['name'] += '-' + str(i)
print(final_data)
replicator(json_data, 2)实际输出:{'map':{'name':'test-01'},{'name':'test-01'}}
所需输出:{'map':{'name':'test-0'},{'name':‘test-1’}
发布于 2022-08-01 06:19:08
import copy
json_data = {"map":[{"name":"test"}]}
def replicator(data, replica=1):
final_data = {}
for each_map_tcs in data.keys():
for each_tc in data[each_map_tcs]:
for i in range(replica):
if each_map_tcs not in final_data.keys():
final_data[each_map_tcs] = []
tmp_dict = copy.deepcopy(each_tc)
tmp_dict['name'] += '-' + str(i)
final_data[each_map_tcs].append(tmp_dict)
print(final_data)
replicator(json_data, 2)发布于 2022-07-31 14:28:09
看起来,您只是想要创建一个list-of-dicts,作为更大的dict的值。
列表部分可以用list comprehension创建,然后您可以将其合并到dict中,如下所示:
l = [{'name': 'test-0' + str(x)} for x in range(2)]
d = {'map':l}
print(d)结果:
{'map': [{'name': 'test-00'}, {'name': 'test-01'}]}https://stackoverflow.com/questions/73183373
复制相似问题