前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 第194-196 个小例子

Python 第194-196 个小例子

作者头像
double
发布2021-03-12 11:19:56
2690
发布2021-03-12 11:19:56
举报
文章被收录于专栏:算法channel

194 python对象转json对象

代码语言:javascript
复制
import json
# a Python object (dict):
python_obj = {
  "name": "David",
  "class":"I",
  "age": 6  
}
print(type(python_obj))

使用json.dumps方法转化为json对象:

代码语言:javascript
复制
# convert into JSON:
j_data = json.dumps(python_obj)

# result is a JSON string:
print(j_data)

带格式转为json

若字典转化为json对象后,保证键有序,且缩进4格,如何做到?

代码语言:javascript
复制
json.dumps(j_str, sort_keys=True, indent=4)

例子:

代码语言:javascript
复制
import json
j_str = {'4': 5, '6': 7, '1': 3, '2': 4}
print(json.dumps(j_str, sort_keys=True, indent=4))

195 发现列表前3个最大或最小数

使用堆模块 heapq 里的 nlargest 方法:

代码语言:javascript
复制
import heapq as hq
nums_list = [25, 35, 22, 85, 14, 65, 75, 22, 58]

# Find three largest values
largest_nums = hq.nlargest(3, nums_list)
print(largest_nums)

相应的求最小3个数,使用堆模块 heapq 里的 nsmallest 方法:

代码语言:javascript
复制
import heapq as hq
nums_list = [25, 35, 22, 85, 14, 65, 75, 22, 58]
smallest_nums = hq.nsmallest(3, nums_list)
print("\nThree smallest numbers are:", smallest_nums)

196 使用堆排序列表为升序

使用 heapq 模块,首先对列表建堆,默认建立小根堆,调用len(nums) 次heappop:

代码语言:javascript
复制
import heapq as hq

nums_list = [18, 14, 10, 9, 8, 7, 9, 3, 2, 4, 1]
hq.heapify(nums_list)
s_result = [hq.heappop(nums_list) for _ in range(len(nums_list))]
print(s_result)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 194 python对象转json对象
  • 带格式转为json
  • 195 发现列表前3个最大或最小数
  • 196 使用堆排序列表为升序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档