《0基础》学习Python——第十讲

小知识点补充

一、json大字符串

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以易于阅读和编写的方式为基础,同时也易于解析和生成。因为其简洁性和可读性,JSON已成为数据交换的首选格式。

大字符串是指包含大量数据的字符串。在使用JSON时,大字符串可以存储或传输大量的JSON数据。大字符串可以用于存储或传输复杂的结构化数据,例如从数据库中检索的数据、从API调用中返回的数据等。

在前端开发中,大字符串通常用于获取或存储包含大量数据的JSON对象。例如,当使用ajax请求从服务器获取数据时,服务器通常会将数据以JSON格式包装在一个大字符串中返回给前端,然后前端可以解析这个字符串来获取数据并进行相应的处理。

在后端开发中,大字符串通常用于将复杂的数据结构转换为JSON格式进行传输。例如,在使用Python进行后端开发时,可以将大量的数据结构(如字典、列表等)转换为JSON格式的大字符串,然后通过网络传输给前端。

例如可以把某东的某件商品的评论提取出来,例如随机截取一个片段

复制代码
"id": "a2cc2478caba42fc",
          "name": "时尚美观",
          "count": 188,
          "type": 4,
          "canBeFiltered": True,
          "stand": 1,
          "rid": "a2cc2478caba42fc",
          "ckeKeyWordBury": "eid=104^"

从表面看其是字典类型,那么给他定义一个名字,

python 复制代码
dict_a = {"id": "a2cc2478caba42fc",
          "name": "时尚美观",
          "count": 188,
          "type": 4,
          "canBeFiltered": True,
          "stand": 1,
          "rid": "a2cc2478caba42fc",
          "ckeKeyWordBury": "eid=104^"}

那么可以通过两个函数对其进行处理,

1、json.jumps(dict):把字典类型数据转换成json类型数据

2、json.loads(str):把字符串类型转化成字典类型

python 复制代码
dict_a = {"id": "a2cc2478caba42fc",
          "name": "时尚美观",
          "count": 188,
          "type": 4,
          "canBeFiltered": True,
          "stand": 1,
          "rid": "a2cc2478caba42fc",
          "ckeKeyWordBury": "eid=104^"}

import json

# dict数据转换成为json字符串
str_dict = json.dumps(dict_a)
print(str_dict, type(str_dict))

# 把json字符串转换为dict 然后可以使用字典的方法去处理
dict_b = json.loads(str_dict)
print(dict_b, type(dict_b))

二、快排

即快速排序(Quicksort),是一种常用的排序算法,它通过将一个待排序的数组分成较小和较大的两个子数组,然后对这两个子数组分别递归地进行排序,最终使整个数组有序。

快速排序的基本思想是选择一个基准元素(pivot),将数组分成左右两个部分,其中左边部分的元素都小于等于基准元素,右边部分的元素都大于等于基准元素。然后再对左右两部分分别递归地进行排序,直到每个子数组只包含一个元素或为空。

视频演示如下:(图像为网络摘取)

python 复制代码
def quick_sort(li):
    # 出口
    if len(li) == 1 or len(li) == 0:
        return li

    # 分治法 二分 大的放右边 小的放左边
    mid = li[len(li) // 2]
    left = []
    right = []
    li.remove(mid)
    for i in li:
        if i > mid:
            right.append(i)
        else:
            left.append(i)
    # 左右和右边的列表需要做同样的事情
    return quick_sort(left) + [mid] + quick_sort(right)

    pass

if __name__ == '__main__':
    print(quick_sort([34, 5, 6, 23, 56, 42, 342, 12, 35, 3, 4513, 431]))

    pass
相关推荐
databook9 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar10 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805111 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_11 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机17 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机18 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机18 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机18 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i19 小时前
drf初步梳理
python·django
每日AI新事件19 小时前
python的异步函数
python