python根据一个二维数组的第一列数据统计不同元素出现的次数
时间: 2023-11-02 21:04:57 浏览: 47
可以使用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的字典来实现,具体代码如下:
```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的二维数组是由多个列表组成的,每个列表代表二维数组中的一行。要获取二维数组的第一列,可以使用列表推导式或排序方法。
使用列表推导式的方法如下:
a = [[1,2,3],[4,5,6],[7,8,9]]
first_column = [i for i in a]
print(first_column)
输出结果为: [1, 4, 7]
另一种方法是对二维数组按照第一列进行排序,然后提取第一列的元素。具体步骤如下:
a=[[1,"bosh"],[7,"lucas"],[3,"wade"],[4,"james"],[23,"davis"]]
a.sort(key = lambda x:x, reverse=False)
first_column = [i for i in a]
print(first_column)
排序后的结果为: [1, 3, 4, 7, 23]
这两种方法都可以获取二维数组的第一列。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [【Python】选取二维列表的第一列](https://blog.csdn.net/YaoYee_21/article/details/119651272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [python中将我们自己程序的一个二维的list按照某一列数据进行排序](https://blog.csdn.net/qq_31747765/article/details/107708117)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]