我有两个列表J1和A1。我还有一个列表J2,其中包含J1中的一些元素。我想使用A2打印A1中的相应值。我给出了当前输出和预期输出。
J1
A1
J2
A2
J1 = [1, 7, 9, 11] A1 = [2.1,6.9,7.3,5.4] J2 = [1, 9] J2,A2=map(list, zip(*((a, b) for a, b in zip(J2,A1)))) print(A2)
当前输出为
[2.1, 6.9]
预期输出为
[2.1, 7.3]
prdp8dxp1#
另一个变体,更接近于原始版本:
A2 = [a for a,j in zip(A1,J1) if j in J2]
vom3gejh2#
J1 = [1,7,9,11] A1 = [2.1,6.9,7.3,5.4]J2 = [1,9]A2 = [A1[J1.index(a)]用于J2中的a]打印(A2)
fxnxkyjh3#
使用J1中的键和A中的值定义一个dict,然后使用J2中的值作为在新的dict中查找的键。
A
dict
>>> from operator import itemgetter >>> d = dict(zip(J1, A1)) >>> A2 = list(itemgetter(*J2)(d)) >>> A2 [2.1, 7.3]
3条答案
按热度按时间prdp8dxp1#
另一个变体,更接近于原始版本:
vom3gejh2#
J1 = [1,7,9,11] A1 = [2.1,6.9,7.3,5.4]
J2 = [1,9]
A2 = [A1[J1.index(a)]用于J2中的a]打印(A2)
fxnxkyjh3#
使用
J1
中的键和A
中的值定义一个dict
,然后使用J2
中的值作为在新的dict
中查找的键。