a数组里面第一列为0,1 ,3 ,4 ,5,6, 7,8,9,10,13,第二列为1,2,3,4,5,6,7,8,,9,10,11,b数组只有一列,其为1,4,5,6,用python写一个脚本找到a数组第一列中与b数组相同的元素,并去除掉该元素在a中所在的行数,并保存到mesh.dat文件中
时间: 2023-08-10 10:04:36 浏览: 63
将数组中相同的数删掉,剩余的数从小到大排序
下面是一个示例脚本,具体的处理逻辑已经在注释中说明了:
```python
# 读取a数组和b数组
a = [(0, 1), (1, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (13, 11)]
b = [1, 4, 5, 6]
# 找到a数组第一列中与b数组相同的元素
common_elements = set([x[0] for x in a]).intersection(set(b))
# 去除掉该元素在a中所在的行数,并保存到mesh.dat文件中
with open('mesh.dat', 'w') as f:
for i, x in enumerate(a):
if x[0] not in common_elements:
f.write('{} {}\n'.format(x[0], x[1]))
```
上面的代码中,我们使用了Python的set数据结构来找到a数组第一列中与b数组相同的元素。然后,我们遍历a数组,如果当前元素的第一列不在common_elements集合中,就将该元素写入到mesh.dat文件中。注意,我们使用了Python的enumerate函数来同时遍历a数组的元素和它们的下标。
阅读全文