python写根据一个二维数组的第一列数据统计不同元素出现的次数
时间: 2024-01-08 07:04:35 浏览: 36
可以使用Python的字典来实现,具体代码如下:
```python
arr = [[1, "A"], [2, "B"], [1, "C"], [3, "D"], [2, "E"], [1, "F"], [3, "G"]]
result = {}
for i in arr:
if i[0] not in result:
result[i[0]] = {i[1]: 1}
else:
if i[1] not in result[i[0]]:
result[i[0]][i[1]] = 1
else:
result[i[0]][i[1]] += 1
print(result)
```
其中,arr表示二维数组,result表示统计结果的字典。代码的逻辑是遍历二维数组,如果第一列的元素不在字典中,则添加该元素并将该元素的第二列作为键,值为1;如果第一列的元素在字典中,但是第二列的元素不在该元素对应的值的字典中,则添加该键,并将值初始化为1,否则将该键对应的值加1。最后输出结果即可。
相关问题
python根据一个二维数组的第一列数据统计不同元素出现的次数
可以使用Python的collections模块中的defaultdict类来实现,具体代码如下:
```python
from collections import defaultdict
arr = [[1, "A"], [2, "B"], [1, "C"], [3, "D"], [2, "E"], [1, "F"], [3, "G"]]
result = defaultdict(int)
for i in arr:
result[i[0]] += 1
print(result)
```
其中,arr表示二维数组,result表示统计结果的字典。代码的逻辑是遍历二维数组,对于每个元素,将其第一列的元素作为字典的键,值初始化为0,并将其值加1。最后输出结果即可。
需要注意的是,使用defaultdict类可以省去判断某个键是否在字典中的步骤,因为如果字典中不存在该键,则会自动初始化为0。另外,默认情况下defaultdict类创建的字典是int类型,所以可以直接使用加法操作符来对值进行操作。如果需要创建其他类型的字典,可以在创建defaultdict对象时指定一个工厂函数来指定值的类型。
python实现输出一个二维数组的第一行
可以使用以下代码实现输出二维数组的第一行:
```python
def print_first_row(matrix):
if matrix:
first_row = matrix[0]
for element in first_row:
print(element, end=' ')
else:
print("Empty matrix!")
# 示例调用
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print_first_row(matrix)
```
这段代码中,`print_first_row` 函数接受一个二维数组 `matrix` 作为参数。它首先检查 `matrix` 是否为空,如果不为空,则取出二维数组的第一行 `first_row`。然后,通过循环遍历 `first_row` 中的元素,并使用 `print` 函数输出每个元素。最后,设置 `end=' '` 参数来使输出的元素以空格分隔。如果 `matrix` 为空,则输出 "Empty matrix!"。在示例调用中,我们传入一个包含三个子数组的二维数组,并调用 `print_first_row` 函数来输出第一行。