《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^"

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

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):把字符串类型转化成字典类型

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),将数组分成左右两个部分,其中左边部分的元素都小于等于基准元素,右边部分的元素都大于等于基准元素。然后再对左右两部分分别递归地进行排序,直到每个子数组只包含一个元素或为空。

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

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

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值