两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法

yipeiwu_com5年前Python基础

一道Python面试题的几种解答: 两个元祖T1=('a', 'b'), T2=('c', 'd'),请使用匿名函数将其转变成[{'a': 'c'}, {'b': 'd'}]

方法一:

>>> T1 = ('a', 'b')
>>> T2 = ('c', 'd')
>>> list(map(lambda x:{x[0]:x[1]}, zip(T1, T2)))
[{'a': 'c'}, {'b': 'd'}]

方法二:

>>> T1 = ('a', 'b')
>>> T2 = ('c', 'd')
>>> [{v1:v2} for (i1,v1) in enumerate(T1) for (i2,v2) in enumerate(T2) if i1==i2]
[{'a': 'c'}, {'b': 'd'}]

方法三:

>>> T1 = ('a', 'b')
>>> T2 = ('c', 'd')
>>> ret = lambda t1,t2:[{x:y} for x in t1 for y in t2 if t1.index(x) == t2.index(y)]
>>> ret(T1, T2)
[{'a': 'c'}, {'b': 'd'}]

方法四:

>>> T1 = ('a', 'b')
>>> T2 = ('c', 'd')
>>> ret = lambda t1,t2:[{x,y} for (x,y) in zip(t1, t2)]
>>> ret(T1, T2)
[{'a', 'c'}, {'d', 'b'}]

方法五:

>>> T1 = ('a', 'b')
>>> T2 = ('c', 'd')
>>> ret = lambda t1,t2:[{t1[i]:t2[i]} for i in range(len(t1))]
>>> ret(T1, T2)
[{'a': 'c'}, {'b': 'd'}]

方法六:

>>> T1 = ('a', 'b')
>>> T2 = ('c', 'd')
>>> list(map(lambda x,y:{x:y}, T1, T2))
[{'a': 'c'}, {'b': 'd'}]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python3.6中@property装饰器的使用方法示例

本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下: 1、@property装饰器的使用场景简单记录如下: 负责把一个方法变成属性...

python实现大学人员管理系统

python作为一个面对对象的程序设计语言,实现一个人员管理系统有自己关于类的方法。 首先,通过定义一个人员的类对象,实现对于人员公共特性的支持,公共的特性包括:姓名,性别,出生日期等,...

Python cv2 图像自适应灰度直方图均衡化处理方法

Python cv2 图像自适应灰度直方图均衡化处理方法

__author__ = 'Administrator' import numpy as np import cv2 mri_img = np.load('mri_img.npy...

opencv python 傅里叶变换的使用

opencv python 傅里叶变换的使用

理论 傅立叶变换用于分析各种滤波器的频率特性,对于图像,2D离散傅里叶变换(DFT)用于找到频域.快速傅里叶变换(FFT)的快速算法用于计算DFT. 于一个正弦信号,x(t)=Asin(...

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

代码: import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) fro...