Bootstrap

有两个元组(('a'),('b')),(('c'),('d')),请生成[{'a':'c'},{'b':'d'}]格式

解这道题的方法很多,仅于此与大家共勉。

方式一:

tup1=(('a'),('b'))
tup2=(('c'),('d'))
ret=zip(tup1,tup2)
def func(tup):
    return {tup[0]:tup[1]}
lst=[]
ret2=map(func,ret)
for i in ret2:
    lst.append(i)
    print(i)
print(lst)

方式二(使用匿名函数):

tup1=(('a'),('b'))
tup2=(('c'),('d'))
ret=zip(tup1,tup2)
lst=[]
ret2=map(lambda tup:{tup[0]:tup[1]},ret)
for i in ret2:
    lst.append(i)
    print(i)
print(lst)

当然,用匿名函数还有比较简洁的做法:

tup1=(('a'),('b'))
tup2=(('c'),('d'))
ret=zip(tup1,tup2)
ret2=list(map(lambda tup:{tup[0]:tup[1]},ret))
print(ret2)

以上的输出结果都一样:

[{'a': 'c'}, {'b': 'd'}]

 

;