《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
相关推荐
世人万千丶8 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
yuzhuanhei8 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
Csvn8 小时前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
Wenweno0o8 小时前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
一轮弯弯的明月9 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming6669 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
cch89189 小时前
Python主流框架全解析
开发语言·python
不爱吃炸鸡柳9 小时前
C++ STL list 超详细解析:从接口使用到模拟实现
开发语言·c++·list
十五年专注C++开发9 小时前
RTTR: 一款MIT 协议开源的 C++ 运行时反射库
开发语言·c++·反射
Momentary_SixthSense9 小时前
设计模式之工厂模式
java·开发语言·设计模式