python高级应用如何完成统计数据中所有资产的总金额,资产个数; 统计每个“使用人”拥有的资产个数,总金额。按总金额降序排列输出(格式:使用人:总金额,资产个数); 按金额找出拥有资产价值最大的使用部门。
时间: 2024-09-07 20:06:49 浏览: 58
在Python中,你可以通过使用内置的数据结构和函数库来完成上述统计数据的任务。以下是一个示例的实现过程:
首先,你需要有一个包含资产信息的数据结构,例如一个字典列表,其中每个字典包含资产的使用人(user)、金额(amount)和部门(department)等信息。这里假设数据结构如下:
```python
assets = [
{'user': 'Alice', 'amount': 100, 'department': '财务部'},
{'user': 'Bob', 'amount': 300, 'department': '研发部'},
{'user': 'Alice', 'amount': 200, 'department': '财务部'},
{'user': 'Bob', 'amount': 50, 'department': '研发部'},
# ... 更多资产信息
]
```
要完成统计任务,你可以使用字典来汇总资产数据:
```python
# 初始化统计字典
total_amount = 0
asset_count = 0
user_assets = {}
department_assets = {}
# 统计总金额和资产个数
for asset in assets:
total_amount += asset['amount']
asset_count += 1
user_assets.setdefault(asset['user'], {'total_amount': 0, 'count': 0})
department_assets.setdefault(asset['department'], {'total_amount': 0})
user_assets[asset['user']]['total_amount'] += asset['amount']
user_assets[asset['user']]['count'] += 1
department_assets[asset['department']]['total_amount'] += asset['amount']
# 输出所有资产的总金额和资产个数
print(f"总金额: {total_amount}, 资产个数: {asset_count}")
# 按总金额降序排列输出每个“使用人”拥有的资产个数,总金额
for user, stats in sorted(user_assets.items(), key=lambda item: item[1]['total_amount'], reverse=True):
print(f"{user}: 总金额 {stats['total_amount']}, 资产个数 {stats['count']}")
# 按金额找出拥有资产价值最大的使用部门
max_department = max(department_assets, key=lambda dept: department_assets[dept]['total_amount'])
print(f"拥有资产价值最大的使用部门是: {max_department},总金额 {department_assets[max_department]['total_amount']}")
```
这个脚本首先统计了所有资产的总金额和资产个数,然后统计了每个使用人的资产总金额和资产个数,并按总金额降序排列输出。最后,找出了拥有资产价值最大的使用部门。