json处理+list.sort()排序
#coding:utf-8
"""
json是一种轻量级数据交换格式,可以对复杂数据进行表达和存储
规格:
1.数据保存在键值对里
2.键值对之间由逗号分隔
3.花括号用于保存键值对数据组成的对象
4.方括号用于保存键值对数据组成的数值
json库:
编码,将python数据类型转换成json格式的过程
解码,从json格式中解析数据转换到python数据类型的过程
dumps(),将python数据类型转换为json格式的字符串
loads(),将 json格式字符串,转换为python数据类型
dump(),与dumps()一样,输出到文件中
load(),与loads()一样,读入文件
"""
"""
#list.sort( key=None, reverse=False)
#key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序
#reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。 # 获取列表的第二个元素
def takeSecond(elem):
return elem[1] # 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)] # 指定第二个元素排序
random.sort(key=takeSecond) # 输出类别
print ('排序列表:', random)
"""
import json
def main():
filepath=input("请输入文件路径名称")
with open(filepath,"r",encoding="utf-8") as f:
city_list=json.load(f)
#list.sort(func),func指定了排序的方法,如果特简单可以用lambada函数实现
b=lambda a:a["aqi"]#输入是a输出是a["aqi"]
city_list.sort(key=b) top5=city_list[:5]
print(top5)
with open("top5.txt","w") as f:
json.dump(top5,f)
if __name__ =="__main__":
main()
json处理+list.sort()排序的更多相关文章
- json 增删改 加 排序
<script type="text/javascript"> var json = { "age":24, "name":&q ...
- 2.sort 排序命令讲解
sort命令 sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码 的字符升序来排列的. -n:安装数值大小从小到大排列 ,默认是升序. ...
- 反向输出及sort排序
建立条件:#include "algorithm"引用这个头文件 1.reverse 的用法,反向排序,由自己输入5个数: 1 2 3 4 5 for (int i = 0; i ...
- JAVA Collections工具类sort()排序方法
主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static <T extends ...
- javascript:算法之数组sort排序
数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...
- sort排序
/*问题 L: 使用sort排序题目描述标准库的sort函数给我们提供了一个很方便的排序的方法,光听别人说方便不顶事,得自己亲自实践一下才能体会到它的方便之处. 输入每组包含多组数据,每组数据第一行包 ...
- [转] C++的STL库,vector sort排序时间复杂度 及常见容器比较
http://www.169it.com/article/3215620760.html http://www.cnblogs.com/sharpfeng/archive/2012/09/18/269 ...
- List<T>.Sort() 排序的用法
List<T> 可以通过 .Sort()进行排序,但是当 T 对象为自定义类型时(比如自定义模型),就需要 IComparable接口重写其中的方法来实现,实现代码如下: class Pr ...
- sort排序中的坑
问题的产生原因: 在一篇阿里面试题的跟帖中,很多人应用sort()方法对数组进行排序.看似合情合理的代码,运行结果却频频出错.为什么呢?因为很多人都忽略掉了一点,那就是sort()排序默认情况下是按A ...
随机推荐
- 不平衡数据下的机器学习方法简介 imbalanced time series classification
imbalanced time series classification http://www.vipzhuanli.com/pat/books/201510229367.5/2.html?page ...
- IT题库2-LinkList和ArrayList(插入数据、末尾插入数据、不同数据量插入数据)的效率?
ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references).ArrayList是List接口的一个实现类,它的特点是查询效率高,增删效率低,线程不安全,原因 ...
- 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析
2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...
- 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- eq
<a class="s">1</a> <a class="s">2</a> <a class=" ...
- ODI基于源表时间戳字段获取增量数据
实现目标:通过ODI获取一个没有时间戳的子表(qb_bw)的增量数据,而主表(qb_tb)有一个rksj入库时间,且主表和子表之间通过ID关联.目标表名是qb_bw1. 设计原理:通过在ODI的map ...
- flutter -webview 报错 err_cleartext_not_permitted
文件 android\app\src\main\AndroidManifest.xml <manifest xmlns:android="http://schemas.android. ...
- 解决IDEA创建多模块项目找不到创建class类的问题
最近在利用idea创建一个多模块的java项目,但是让人十分抓狂的事,模块竟然找不到创建class类的选项,如图 前提:创建模块后假如右下角出现 务必要点击import Changes .然后看下是否 ...
- 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
在使用asp.net core的时候,采用take().skip()分页的时候报如下错误: SqlException: 'OFFSET' 附近有语法错误. 在 FETCH 语句中选项 NEXT 的用法 ...
- 自动化运维 --- git
一. git 概括 二.常用指令 git init 初始化 git status 查看git的状态 git add 将文件放到缓存区 git commit -m 将缓存区的内容提交到本地仓库 git ...