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中所在的行数,
时间: 2023-08-08 07:08:00 浏览: 39
可以使用Python中的列表推导式和条件判断来实现该功能,具体代码如下:
```python
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数组相同的元素,并去除掉该元素在a中所在的行数
result = [row for row in a if row[0] not in b]
print(result)
```
输出结果为:
```
[[0, 1], [3, 3], [13, 11]]
```
其中,列表推导式 `[row for row in a if row[0] not in b]` 表示对于 `a` 中的每一行 `row`,只有当该行的第一个元素不在 `b` 中时,才将该行加入到结果列表中。最终得到的结果列表即为符合要求的新的 `a` 数组。
相关问题
python 构建第一列为1,第二列为0的二维数组
在 Python 中,可以使用嵌套的列表(list)来表示二维数组。要构建第一列为 1,第二列为 0 的二维数组,可以使用循环来创建每一行。代码如下:
```python
# 构建一个包含 n 行、2 列的二维数组
arr = [[1, 0] for i in range(n)]
```
这里使用了列表生成式来创建一个包含 n 个元素的列表,每个元素都是 `[1, 0]`,即长度为 2 的列表,第一个元素为 1,第二个元素为 0。
可以通过遍历这个列表,输出其中的元素来验证:
```python
for i in range(n):
print(arr[i])
```
输出结果为:
```
[1, 0]
[1, 0]
[1, 0]
...
```
其中 `n` 是列表的行数,可以根据需要进行调整。
这个数组有3列,第1,2列为8位整形,第3列为字符串
好的,那么你可以这样定义一个包含3列的常量二维数组:
```c
const int ROWS = 2;
const int COLS = 3;
const struct {
int col1;
int col2;
char *col3;
} arr[ROWS][COLS] = {
{{1, 2, "hello"}, {3, 4, "world"}, {5, 6, "!"}},
{{7, 8, "foo"}, {9, 10, "bar"}, {11, 12, "baz"}}
};
```
在这个例子中,我们定义了一个结构体来表示每一行数据,包含三个字段:`col1` 和 `col2` 是整形,`col3` 是字符串指针。然后我们定义了一个常量二维数组 `arr`,其中包含两行三列的数据。第一行数据为 `{1, 2, "hello"}`, `{3, 4, "world"}`, `{5, 6, "!"}`,第二行数据为 `{7, 8, "foo"}`, `{9, 10, "bar"}`, `{11, 12, "baz"}`。请注意,字符串常量需要使用指针来存储。