Python 第194-196 个小例子
194 python对象转json对象
import json
# a Python object (dict):
python_obj = {
"name": "David",
"class":"I",
"age": 6
}
print(type(python_obj))
使用json.dumps
方法转化为json对象:
# convert into JSON:
j_data = json.dumps(python_obj)
# result is a JSON string:
print(j_data)
带格式转为json
若字典转化为json对象后,保证键有序,且缩进4格,如何做到?
json.dumps(j_str, sort_keys=True, indent=4)
例子:
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 方法:
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 方法:
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:
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)
更多例子,请点击阅读原文学习:
评论