1. 程式人生 > >有兩個元組(('a'),('b')),(('c'),('d')),請生成[{'a':'c'},{'b':'d'}]格式

有兩個元組(('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'}]