python - 如何删除 m² 并将 ha 转换为 m²?
问题描述
很抱歉这个基本问题,我刚开始学习,我觉得这很困难。示例我有一个列表,其中有面积大小,我需要将它们全部设为 m²,因此我必须以某种方式将 ha 乘以 10 000。
{
'17001:003:0009': '712 m²', '17001:003:0010': '1694 m²',
'33101:004:0568': '2070 m²', '33101:003:0502': '3553 m²',
'33101:003:0503': '2308 m²', '69403:002:0317': '23.95 ha',
'69403:001:0263': '8.76 ha', '33101:001:0197': '5.05 ha',
'33101:003:0550': '2.65 ha', '33101:004:0596': '2.45 ha'
}
解决方案
遍历键和值并ha
在值的末尾进行测试。相应地处理。请注意,有 10K 平方米/公顷。
from pprint import pprint
d = {
'17001:003:0009': '712 m²', '17001:003:0010': '1694 m²',
'33101:004:0568': '2070 m²', '33101:003:0502': '3553 m²',
'33101:003:0503': '2308 m²', '69403:002:0317': '23.95 ha',
'69403:001:0263': '8.76 ha', '33101:001:0197': '5.05 ha',
'33101:003:0550': '2.65 ha', '33101:004:0596': '2.45 ha'
}
for k,v in d.items():
num = float(v[:-2])
d[k] = num * 10_000 if v.endswith('ha') else num
pprint(d)
输出:
{'17001:003:0009': 712.0,
'17001:003:0010': 1694.0,
'33101:001:0197': 50500.0,
'33101:003:0502': 3553.0,
'33101:003:0503': 2308.0,
'33101:003:0550': 26500.0,
'33101:004:0568': 2070.0,
'33101:004:0596': 24500.0,
'69403:001:0263': 87600.0,
'69403:002:0317': 239500.0}
推荐阅读
- math - 在长生不老药中圆浮子的最佳方法是什么
- javascript - 如何仅在用户首次登录时创建有关如何使用网站的提示?
- amazon-sagemaker - 更新 SageMaker Jupyterlab 环境
- c# - Asp.Net WebApi 性能问题/响应缓慢
- c# - await 会创建另一个线程吗?
- ionic-framework - 如何在 IONIC 3 中限制来自 API 的结果
- php - SSL_SERVER_S_DN_Email 在 PHP var_dump 中显示不正确的电子邮件
- sql - 一张表的一条记录显示在另一张表的所有记录上
- binary - mod 2^64 加法在密码学中实际上意味着什么?
- python - 如何获取自定义异常的参数以在消息中使用它?