我有一个列表,列表中有多个dict。我想把这张单子合并成一张。在这里,我使用for循环来合并,但无法这样做。帮我解决一些问题。数据中dict列表中的多个列表可以在执行期间增加。所以我用for循环来得到它
下面是示例代码:
datas = [
[{'state': 'tamil nadu', 'city': 'tirunelveli', 'haps': 'hap0', 'serial': '1'},
{'state': 'tamil nadu', 'city': 'nagerkoil', 'haps': 'hap0', 'serial': '2'},
{'state': 'tamil nadu', 'city': 'tuticorin', 'haps': 'hap0', 'serial': '3'},
{'state': 'tamil nadu', 'city': 'madurai', 'haps': 'hap0', 'serial': '4'},
{'state': 'tamil nadu', 'city': 'chennai', 'haps': 'hap0', 'serial': '5'}],
[{'state': 'kerala', 'city': 'palakad', 'haps': 'hap1', 'serial': '6'},
{'state': 'kerala', 'city': 'guruvayor', 'haps': 'hap1', 'serial': '7'},
{'state': 'kerala', 'city': 'kolikodu', 'haps': 'hap1', 'serial': '8'},
{'state': 'kerala', 'city': 'kottayam', 'haps': 'hap1', 'serial': '9'},
{'state': 'kerala', 'city': 'idukki', 'haps': 'hap1', 'serial': '10'}],
[]
]
d = []
def throttle(d):
if data !=[]:
d.append(data)
print(d)
else:
print("no data")
for data in datas:
throttle(data)
我得到的输出:
[{'city': 'tirunelveli', 'serial': '1', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'nagerkoil', 'serial': '2', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'tuticorin', 'serial': '3', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'madurai', 'serial': '4', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'chennai', 'serial': '5', 'haps': 'hap0', 'state': 'tamil nadu'}, [...]]
[{'city': 'palakad', 'serial': '6', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'guruvayor', 'serial': '7', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'kolikodu', 'serial': '8', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'kottayam', 'serial': '9', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'idukki', 'serial': '10', 'haps': 'hap1', 'state': 'kerala'}, [...]]
no data
所需输出:
[{'city': 'tirunelveli', 'serial': '1', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'nagerkoil', 'serial': '2', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'tuticorin', 'serial': '3', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'madurai', 'serial': '4', 'haps': 'hap0', 'state': 'tamil nadu'}, {'city': 'chennai', 'serial': '5', 'haps': 'hap0', 'state': 'tamil nadu'},{'city': 'palakad', 'serial': '6', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'guruvayor', 'serial': '7', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'kolikodu', 'serial': '8', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'kottayam', 'serial': '9', 'haps': 'hap1', 'state': 'kerala'}, {'city': 'idukki', 'serial': '10', 'haps': 'hap1', 'state': 'kerala'}]
no data
你可以做:
输出:
看起来是^{} 的一个很好的用例:
无法获取所需内容的原因是
datas
中有嵌套列表,因此应该扩展列表,而不是追加。你知道吗你可以试试这个:
或者使用
filter
和reduce
,filter
用于过滤空列表,而reduce
用于组合。你知道吗相关问题 更多 >
编程相关推荐