如何在Python中创建相同大小的数组

dan*_*ast 1 python arrays concatenation

我想知道是否有一种"简单"的方法来创建两个匹配的数组,在两个数组中插入一些虚拟缺失值,因此它们保持相同的大小,两个数组中相同的索引保持不变,例如:

["A", "B", "C", "D", "E", "F"]["B", "C", "E"]

将会

["A", "B", "C", "D", "E", "F"]["N/A", "B", "C", "N/A", "E", "N/A"]

提前致谢 :-)

Jea*_*bre 7

列表理解中的单行代码可以做到这一点:

array_1 = ["A", "B", "C", "D", "E", "F"]
array_2 = {"B", "C", "E"}

array_3 = [x if x in array_2 else "N/A" for x in array_1]

print(array_3)
Run Code Online (Sandbox Code Playgroud)

结果:

['N/A', 'B', 'C', 'N/A', 'E', 'N/A']
Run Code Online (Sandbox Code Playgroud)

请注意,我转换array_2为a set以便更快地查找.