这是我的代码:
evenorodd=[1,2,3]
list1=['a','b','c']
list2=['A','B','C']
res = tuple(map(lambda x: True if x % 2 != 0 else False, evenorodd))
print(res)
输出:
(False, True, False, True)
我想要这个:如果x%2!= 0则为list1的元素(如果evenorodd的元素为奇数)
list2 else的元素(如果evenorodd的元素为偶数)
我寻找的输出:
('a','B','c')
我想一行
res = tuple(map(lambda x: ??? if x % 2 != 0 else ???, evenorodd))
谢谢
最佳答案
您可以使用zip
:
evenorodd=[1,2,3]
list1=['a','b','c']
list2=['A','B','C']
new_result = [a if c%2 == 0 else b for a, b, c in zip(list2, list1, evenorodd)]
输出:
['a', 'B', 'c']