python处理字典之表格-城市排行榜

# 中国城市排行榜
import xlrd
book=xlrd.open_workbook('city_data.xls')
sheet=book.sheet_by_index(0)
main_data_list=[]
for row in range(3,sheet.nrows):temp_dict={}# print(sheet.row_values(row))temp_dict["城市"]=sheet.row_values(row)[0]temp_dict["2019GDP"] = sheet.row_values(row)[1]temp_dict["2018总人口"] = sheet.row_values(row)[2]temp_dict["2018平均房价"] = sheet.row_values(row)[3]temp_dict["2018平均工资"] = sheet.row_values(row)[4]temp_dict["地铁总里程"] = sheet.row_values(row)[5]temp_dict["高效数量"] = sheet.row_values(row)[6]temp_dict["三甲医院"] = sheet.row_values(row)[7]temp_dict["小学数量"] = sheet.row_values(row)[8]main_data_list.append(temp_dict)# print(main_data_dic)
for i_list in range(len(main_data_list)):main_data_list[i_list]['原榜单得分']=len(main_data_list)-i_list
print("城市原榜得分从高到低:")
for j_list in range(len(main_data_list)):print(main_data_list[j_list]["城市"],main_data_list[j_list]['原榜单得分'])
print('='*80)for i in range(len(main_data_list)):main_data_list[i]['收入房价比']=format(main_data_list[i]['2018平均工资']/12/main_data_list[i]['2018平均房价'],'.2f')
print(main_data_list)#从字典中取出K这个key的值函数
def get_value(dic,k):return dic.get(k)def desc_cities(cities_list,kw="2019GDP"):if kw!="2018平均房价":cities_bykey=sorted(cities_list,key=lambda x:get_value(x,kw),reverse=True)for i_key in range(len(cities_bykey)):cities_bykey[i_key][kw+"得分"]=len(cities_bykey)-i_keyprint(cities_bykey)print(f'城市{kw}得分(由高到低):')for j_key in range(len(cities_bykey)):print(cities_bykey[j_key]["城市"],cities_bykey[j_key][kw+"得分"])print('='*80)else:cities_bykey = sorted(cities_list, key=lambda x: get_value(x, kw), reverse=True)for i_house in range(len(cities_bykey)):cities_bykey[i_house][kw+"得分"]=i_house+1print(f'城市{kw}得分(由低到高):')for j_house in range(len(cities_bykey)):print(cities_bykey[j_house]["城市"],cities_bykey[j_house][kw+"得分"])print('='*80)return cities_bykey
desc_cities(main_data_list,kw="2018平均房价")

结果如下:

城市原榜得分从高到低:
北京 10
上海 9
深圳 8
广州 7
成都 6
重庆 5
杭州 4
武汉 3
西安 2
天津 1
================================================================================
[{'城市': '北京', '2019GDP': 35371.28, '2018总人口': 1375.8, '2018平均房价': 37420.19, '2018平均工资': 145766.0, '地铁总里程': 699.3, '高效数量': 116.0, '三甲医院': 78.0, '小学数量': 91.3, '原榜单得分': 10, '收入房价比': '0.32'}, {'城市': '上海', '2019GDP': 38155.32, '2018总人口': 1462.38, '2018平均房价': 28981.11, '2018平均工资': 140400.0, '地铁总里程': 705.0, '高效数量': 78.0, '三甲医院': 66.0, '小学数量': 80.02, '原榜单得分': 9, '收入房价比': '0.40'}, {'城市': '深圳', '2019GDP': 26927.09, '2018总人口': 454.7, '2018平均房价': 55441.01, '2018平均工资': 111709.0, '地铁总里程': 303.4, '高效数量': 8.0, '三甲医院': 16.0, '小学数量': 102.8, '原榜单得分': 8, '收入房价比': '0.17'}, {'城市': '广州', '2019GDP': 23628.6, '2018总人口': 927.69, '2018平均房价': 21581.78, '2018平均工资': 111839.0, '地铁总里程': 513.0, '高效数量': 91.0, '三甲医院': 62.0, '小学数量': 105.85, '原榜单得分': 7, '收入房价比': '0.43'}, {'城市': '成都', '2019GDP': 17012.65, '2018总人口': 1476.05, '2018平均房价': 9783.16, '2018平均工资': 88011.0, '地铁总里程': 302.285, '高效数量': 68.0, '三甲医院': 29.0, '小学数量': 94.2, '原榜单得分': 6, '收入房价比': '0.75'}, {'城市': '重庆', '2019GDP': 23605.77, '2018总人口': 1962.66, '2018平均房价': 8189.98, '2018平均工资': 78928.0, '地铁总里程': 313.6, '高效数量': 69.0, '三甲医院': 27.0, '小学数量': 126.15, '原榜单得分': 5, '收入房价比': '0.80'}, {'城市': '杭州', '2019GDP': 15373.0, '2018总人口': 774.1, '2018平均房价': 24360.2, '2018平均工资': 106709.0, '地铁总里程': 135.36, '高效数量': 46.0, '三甲医院': 20.0, '小学数量': 59.1, '原榜单得分': 4, '收入房价比': '0.37'}, {'城市': '武汉', '2019GDP': 17157.0, '2018总人口': 883.73, '2018平均房价': 12678.48, '2018平均工资': 88327.0, '地铁总里程': 339.0, '高效数量': 90.0, '三甲医院': 36.0, '小学数量': 57.9, '原榜单得分': 3, '收入房价比': '0.58'}, {'城市': '西安', '2019GDP': 9321.19, '2018总人口': 986.87, '2018平均房价': 9984.54, '2018平均工资': 87125.0, '地铁总里程': 155.66, '高效数量': 75.0, '三甲医院': 41.0, '小学数量': 73.09, '原榜单得分': 2, '收入房价比': '0.73'}, {'城市': '天津', '2019GDP': 14104.28, '2018总人口': 1081.63, '2018平均房价': 15924.26, '2018平均工资': 100731.0, '地铁总里程': 233.0, '高效数量': 71.0, '三甲医院': 49.0, '小学数量': 67.32, '原榜单得分': 1, '收入房价比': '0.53'}]
城市2018平均房价得分(由低到高):
深圳 1
北京 2
上海 3
杭州 4
广州 5
天津 6
武汉 7
西安 8
成都 9
重庆 10
================================================================================

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/781551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑换屏总结——关于我把电脑砸了这件事!

大家好,我是工程师看海,很高兴和各位一起分享我的原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享哟。 加微信[chunhou0820]与作者进群沟通交流。 【淘宝】https://m.tb.cn/h.5PAjLi7?tkvmMLW43KO7q CZ3457 「运放秘…

vite+vue3使用模块化批量发布Mockjs接口

在Vue3项目中使用Mock.js可以模拟后端接口数据,方便前端开发和调试。下面是使用vitevue3使用模块化批量发布Mockjs接口的步骤: 1. 安装Mock.js 在Vue3项目的根目录下,使用以下命令安装Mock.js: npm install mockjs --save-dev …

项目亮点—动态线程池管理工具

问题 你是否在项目中使用线程池遇到过以下问题? 1.创建线程池核心参数不好评估,随着业务流量的波动,极有可能出现生产故障。 2.不支持优雅关闭,当项目关闭时,大量正在运行的线程池任务被丢弃。 3.不支持运行时监控…

Linux安装wine

#教程 一直以来,我运行双系统,有两个软件必须在window下运行,一个是wind金融终端,一个是通达信金融终端,现已解决这两个软件在linux(debian系)环境下运行问题,记录如下:…

WebGIS开发

1.准备工作 高德开发API注册账号&#xff0c;创建项目拿到key和密钥 高德key 2.通过JS API引入高德API <html><head><meta charset"utf-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><metaname&quo…

【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的全网最详细的解析

【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的定SLAM 3D-GS 与 Nerf 和 Gaussian Splatting1. 开山之作 Nerf2. 扛鼎之作 3D Gaussian Splatting2.1 什么是3D高斯?高斯由1D推广到3D的数学推导2.2 什么是光栅化?2.3 什么是Splatting?2.4 什么是交叉优化?…

AWS EC2 学习之: 使用 PuTTY 从 Windows 连接到 Linux 实例

启动您的实例之后&#xff0c;您可以连接到该实例&#xff0c;然后像使用您面前的计算机一样来使用它。 注意 启动实例后&#xff0c;需要几分钟准备好实例&#xff0c;以便您能连接到实例。检查您的实例是否通过了状态检查。您可以在 Instances 页上的 Status Checks 列中查…

什么是防火墙,部署防火墙有什么好处?

与我们的房屋没有围墙或界限墙一样&#xff0c;没有防护措施的计算机和网络将容易受到黑客的入侵&#xff0c;这将使我们的网络处于巨大的风险之中。因此&#xff0c;就像围墙保护我们的房屋一样&#xff0c;虚拟墙也可以保护和安全我们的设备&#xff0c;使入侵者无法轻易进入…

如何处理网络编程中的并发连接?

如何处理网络编程中的并发连接&#xff1f; 在网络编程中&#xff0c;处理并发连接是一个至关重要的问题。随着网络应用的普及和用户量的增长&#xff0c;服务器需要同时处理来自多个客户端的请求&#xff0c;因此必须有效地管理并发连接。下面将详细讨论如何处理网络编程中的…

SAP Fiori开发中的JavaScript基础知识9 - 代码注释,严格模式,JSON

1 背景 本文将介绍JavaScript编程中的三个小知识点&#xff1a;也即代码注释&#xff0c;严格模式&#xff0c;JSON文件。 2 代码注释 JavaScript的代码注释方式如下&#xff1a; // Single line comment/* Multi line comment */3 严格模式 JavaScript的"strict mod…

JavaScript笔记 07

目录 01 基本数据类型和引用数据类型之间的区别 02内置对象之Array 01 基本数据类型和引用数据类型之间的区别 js的数据内存结构是参照java诞生的 内存分为栈内存和堆内存 栈内存: 空间很小 存储基本数据类型 堆内存: 空间很大 引用数据类型声明在栈内存 内容在堆内存 使用地…

0101支付安全-支付模块-项目实战

文章目录 一、信息安全的基础-机密性1 相关概念2 对称加密和非对称加密 二、身份认证三 摘要算法四、数字签名五、数字证书结语 在支付过程中&#xff0c;设计多方的敏感信息&#xff0c;那么安全尤为重要。下面先简单介绍下&#xff0c;相关概念。 一、信息安全的基础-机密性 …

解决GNU Radio+USRP实现OFDM收发在接收端QPSK星座图映射无“抖动”问题

文章目录 前言一、遇到的问题二、解决方案三、重新编译安装四、验证五、资源自取 前言 本文记录在 GNU RadioUSRP 实现 OFDM 收发时&#xff0c;在接收端 QPSK 星座图映射无“抖动”问题的解决方法&#xff0c; 一、遇到的问题 我遇到的问题是&#xff0c;现在搭建的 OFDM 模…

E5063A是德科技E5063A网络分析仪

181/2461/8938产品概述&#xff1a; Keysight E5063A 是一款低成本网络分析仪&#xff0c;可为测试天线、电缆、滤波器和 PCB 等简单无源元件提供优化的性能和功能。Keysight E5063A 为您的企业提供价格和性能之间的最佳平衡&#xff0c;以满足您的业务和技术要求。它利用行业…

vue 通过插槽来分配内容

通过插槽来分配内容 一些情况下我们会希望能和 HTML 元素一样向组件中传递内容&#xff1a; <AlertBox>Something bad happened. </AlertBox> 这可以通过 Vue 的自定义 <slot> 元素来实现&#xff1a; <template><div class"alert-box&quo…

安装和使用 Oracle Database 23c 容器鏡像

Oracle Database 23c 是 Oracle 最新的数据库版本&#xff0c;它带来了许多新特性和性能改进。 对于开发者来说&#xff0c;Oracle 提供了一个免费的开发者版&#xff0c; 可以通过 Docker 容器轻松安装和使用。以下是详细的安装和使用指南。 安装 Docker 在开始之前&#xff0…

Linux解压安装Kafka

Linux解压安装Kafka MacBook Linux安装zookeeper MacBook Linux安装Kafka Kafka依赖Zookeeper Kafka依赖Zookeeper,可以单独安装Zookeeper,也可以直接启动Kafka包里自带的Zookeeper Kafka 安装 cd /data/software#下载 wget http://mirror.bit.edu.cn/apache/kafka/2.0.1…

2024 年多链代币开发对您的业务有何好处

2024 年&#xff0c;多链代币开发将成为寻求增强数字化影响力并释放区块链领域新机遇的企业的关键战略。通过利用多个区块链&#xff0c;公司可以显着提高其代币的可扩展性、互操作性和安全性。这种方法不仅提高了交易速度并降低了费用&#xff0c;还使企业能够利用更广泛的用户…

深度学习入门简单实现一个神经网络

实现一个三层神经网络 引言测试数据 代码 引言 今天我们实现一个简单的神经网络 俩个输入神经元 隐藏层两个神经元 一个输出神经元 激活函数我们使用sigmoid 优化方法使用梯度下降 我们前期准备是需要把这些神经元的关系理清楚 x1&#xff1a;第一个输入 x2&#xff1a;第二个…

C#手术麻醉系统源码 大型医院手麻系统4大需求是什么?

C#手术麻醉系统源码 大型医院手麻系统4大需求是什么&#xff1f; 手术麻醉临床信息系统有着完善的临床业务功能&#xff0c;能够涵盖整个围术期的工作&#xff0c;能够采集、汇总、存储、处理、展 现所有的临床诊疗资料。通过该系统的实施&#xff0c;能够规范手麻科的工作流程…