第六节 元组、字典

news2024/12/23 13:44:21

文章目录

  • 掌握知识点
    • 1. 元组
      • 1.1 元组概述
      • 1.2 语法格式
      • 1.3 元组场景使用
    • 2. 字典
      • 2.1 概述
      • 2.2 字典的语法结构与注意
      • 2.3 字典CURD
        • 2.3.1 字典获取
        • 2.3.2 字典添加和修改
        • 2.3.3 字典删除
        • 2.3.4 字典遍历
      • 2.4 enumerate 函数
      • 2.5 扩展练习
        • 2.5.1 判断是否能全部购买
        • 2.5.2 学生信息的排序
        • 2.5.3 WordCount 输出字典
        • 2.5.4 统计字符串数字出现次数

掌握知识点

  • 什么是元组 ?
  • 如何创建元组的一个元素 ?
  • 元组和列表的区别?
  • 字典的定义
  • 掌握字典的CURD 操作
  • 掌握字典的遍历
    • 遍历整个字典有2种方式
  • 掌握公共方法的操作

1. 元组

1.1 元组概述

  1. 在Python中,元组是一种 不可变的有序序列,即 一旦创建不能被修改,可以用来存储一组 有序的数据
  2. 和列表相似,元组中的 数据可以是多个,并且 可以是任意类型的
    • 包括 数字、字符串、列表、元组等
    • 元组和列表的语法非常相似, 不同的是 元组使用圆括号()进行定义,而不是方括.
    • 理解记忆, 所谓“元”组,就是用“圆”括号

1.2 语法格式

  1. 因为元组的创建方式和列表极其相似,定义方式也相差不多,

    • 但是元组是一旦创建,就无法改变.,一般可以存储不变的元素,如日期, 坐标 等
    '''
    1.元组和列表很相似, 都可以存放多个元素,可以存放不同的类型
        一旦创建就不可改变,
        列表的定义方式 []
        元组定义方式 ()
    '''
    my_list = [1, "字符串", 3.14, True]  # 列表的创建
    my_tuple = (1, "字符串", 3.14, True)  # 创建元组
    
    # 输出  <class 'list'> <class 'tuple'>
    print(type(my_list), type(my_tuple))
    # 输出 [1, '字符串', 3.14, True] (1, '字符串', 3.14, True)
    print(my_list, my_tuple)
    
    #2.改变元组会异常 'tuple' object does not support item assignment
    my_tuple[0] = 2
    

    在这里插入图片描述

  2. 在创建元组时,需要注意事项

    • 如何创建单个元组元素 ?
    '''
    1. 列表创建单个元素与元组创建单个元素的不同.
    '''
    
    my_list =[1]
    print(type(my_list))
    #1.1 创建元组
    my_tuple = (1)
    print(my_tuple) # 输出是1
    print(type(my_tuple)) #类型是 <class 'int'>
    
    #1.2 创建时需要注意
    my_tuple2=(1,) #在后面 必须要留一个逗号
    print(type(my_tuple2),my_tuple2)
    
  3. 元组是Python中的不可变序列相较于列表,其所拥有的方法较少

    • count(x):返回元组中x元素出现的次数。
    • index(x):返回元组中第一次出现x元素的索引位置。
    • len() : 计算元组的个数.
    # 定义元组
    my_tuple = (1, 2, 3, 4, 5, 3, 2, 1)
    
    # count()方法
    print(my_tuple.count(3)) # 2
    print(my_tuple.count(6)) # 0
    
    # index()方法
    print(my_tuple.index(3))  # 2
    print(my_tuple.index(6))  # ValueError: tuple.index(x): x not in tuple
    
    #len() 计算元组的个数
    print(len(my_tuple))
    

    在这里插入图片描述

    # 创建元组
    my_tuple = ("字符串", 5, True)  
    print(my_tuple[-1]) #True
    
  • 需要注意的是,元组是不可变序列,因此元组的方法不会修改元组本身。这些方法会返回一个新的元组,且不对原有元组进行任何修改。

1.3 元组场景使用

  1. 一般认为,tuple有这类特点,并且也是它使用的情景:
  2. Tuple 比 list 操作速度快。
    • 如果定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。
      3, 如果对不需要修改的数据进行 “写保护”,可以使代码更安全。 使用 tuple 而不是 list
  3. Tuples 可以在 dictionary(字典,后面要讲述) 中被用做 key,但是 list 不行。
    • Dictionary key 必须是不可变的。Tuple 本身是不可改变的,但是如果您有一个 list 的 tuple,那就认为是可变的了,用做 dictionary key 就是不安全的。
    • 只有字符串、整数或其它对 dictionary 安全的 tuple 才可以用作 dictionary key

2. 字典

2.1 概述

  1. 首先思考一个问题,在学习列表时, 假如,因为列表中的第一个元素发生了错误, 数据发生了错误,想修改它.

    • 直接修改即可. 列表名[0] = new_value
    • 但是它的顺序又发生了改变 ,我需要再通过改变索引才能找到它在修改它,这时我还需要修改索引.
    list_1 = ["小明","小红","小绿"]
    #1. 修改第一个元素,将小明该为 小黄
    list_1[0] = "小黄"
    print(list_1)
    # 1.1 如果列表中的顺序发生了变化, 我还需要修改索引
    list_2 = ["小红","小明","小绿"]
    list_2[1] ="小黄"
    print(list_2)
    
    
  2. 问题来了,有没有一种类型,即可以存储多个数据,又能快速定位某个元素.

    • 字典的产生,以键值对的方式存在
  3. 字典是一种 可变容器类型,可以存储键值对,字典中的键和值可以是任意类型不能是列表字典的特点是:

    • 无序性:字典中的键值对没有固定的顺序,每次访问可能返回不同的顺序。
    • 键具有唯一性:在一个字典中,键是唯一的。如果有相同的键出现,则后面的键值对会覆盖前面的键值对。
    • 可变性:可以在字典中添加、删除、修改任意键值对。
    • 可迭代性:可以通过for循环遍历字典中的所有键值对。

2.2 字典的语法结构与注意

  1. 通过 key 和 value 组成 键值对的形式

    • my_dict = {'key1': value1, 'key2': value2, ...}
    # 定义一个空字典
    my_dict3={}
    print(my_dict3)
    #定义有键值对的字典
    my_dict={"name":"孙悟空","age":500,"address":"花果山","like":["取经","打妖精","收拾二师兄"]}
    print(type(my_dict)) #<class 'dict'>
    print(my_dict)
    
  2. 具有唯一性.

    # 到底会输出谁 ?
    dict_1  = {"name": "孙悟空", "name":"六耳猕猴"}
    
    print(dict_1)
    
  3. 具有唯一性. 为什么不能是列表 ?

    • 为什么元组可以?
    # 不能是列表, 但可以是元组
    #dict_2 = {"name": "孙悟空", [1,2]:"六耳猕猴"}
    #print(dict_2) # TypeError: unhashable type: 'list' 不支持,因为列表可变.
    
    dict_3 = {"name": "孙悟空", (1,2):"六耳猕猴"} #因为元组是不可以改变
    print(dict_3) #{'name': '孙悟空', (1, 2): '六耳猕猴'}
    
  4. 可以是任意类型.

    #值可以是任意类型
    dict_4 ={"name":['孙悟空',"齐天大圣","美猴王"],"address":("花果山","水帘洞")}
    print(dict_4)
    

2.3 字典CURD

2.3.1 字典获取

  1. 第一种, 通过get("key")值的方式来获取.
    • 第二种, 也可以使用 字典名["key"] 方式获取.
    #1. 创建字典
    my_dict={"name":"孙悟空","age":500,"address":"花果山","like":["取经","打妖精","收拾二师兄"]}
    
    #1.1 获取key值 使用 字典名.get(key) 方法
    print(my_dict.get("like"))
    print(my_dict.get("age"))
    print(my_dict.get("salary")) #获取一个没有的key值 None
    
    # 1.2 也可以通过字典名["key"]值方式,但是注意如果key值不存在, 则抛出异常.
    print(my_dict["like"])
    print(my_dict["salary"]) # KeyError: 'salary'
    

2.3.2 字典添加和修改

  1. 既然能通过索引获取,那么就能添加数据
    • 如果键存在,就是修改, 如果不存在, 就是添加.
    • 整数,浮点,布尔 可以直接写, 不用加双引号.
    #1.3 字典的添加
    #1.3.1 key值存在 就是修改 ,key值不存在,就是添加.
    
    my_dict1={"name":"孙悟空","age":500,"address":"花果山","like":["取经","打妖精","收拾二师兄"]}
    #如果存在brother 就是修改,如果不存在就是添加
    my_dict1["brother"] = ["猪八戒","沙悟净"] #可以添加列表
    my_dict1[10] =100 #整数 小数 布尔 ,可以直接写.  key值不需要加双引号.
    print(my_dict1)
    
    #如果存在就是修改
    my_dict1["name"] ="六耳猕猴"
    print(my_dict1)
    

2.3.3 字典删除

  1. 键值对,所有的操作都是通过key去操作, 那么删除也是 通过键删除键值对…
    • 第一种,使用的方法 pop(key)
    • 第二种,使用 del 字典名[key] 或者 del(字典名[key])
    • 第三种 使用 clear() 可以 清空所有元素.
    
    '''
    1. 字典的三种删除方式
        1.1 pop(key)
        1.2 del 字典名[key] 或者  del(字典名[key])
        1.3 全部清空   字典名.clear()
    
    '''
    my_dict={"name":"孙悟空","age":500,"address":"花果山","like":["取经","打妖精","收拾二师兄"]}
    
    #第一种 pop()删除
    my_dict.pop("like")
    #my_dict.pop("likes") #没有key 就会抛出异常 KeyError: 'likes'
    print(my_dict)
    
    #第二种 del 字典名[key]删除 或者 写成  del(字典名[key])
    del(my_dict["age"])
    print(my_dict)
    
    #第三种清空 clear()
    my_dict.clear()
    print(my_dict)
    
    

2.3.4 字典遍历

  1. 遍历键 , 遍历值

    • 获取键视图 字典名.keys()
    • 获取值视图字典名.values()
    • 获取字典元素视图 字典名.items()
    '''
    1. 遍历的进化
    1.1 字典 就一种思路, 通过key获取value
        遍历就需要使用循环
    '''
    # 1.遍历
    my_dict = {"name": [1, 2, 3], "age": 500, "adress": "花果山"}
    for key in my_dict:
        print(key)
    
    print("-"*20) #华丽分割线
    
    #1.1 获取key值
    keys = my_dict.keys()
    print(keys)#dict_keys(['name', 'age', 'adress'])
    print(type(keys))#<class 'dict_keys'>
    
    print("-"*20)#华丽分割线
    
    #1.2  相当于将 1和1.1 结合
    for key in my_dict.keys():
        print(key)
    
    print("-"*20)#华丽分割线
    
    #1.3  通过 1.2 退到出 .
    # 能遍历key就肯定能遍历value
    for value in my_dict.values():
        print(value)
    
    
  2. 如何遍历字典 获取键和值, 2 种方式

    • 第一种 通过 遍历key值, 获取value
    • 第二种 遍历键值对 ,然后再获取key和value
    '''
    1.字典如何遍历
        1.1 通过key 在找到value
                    理解为: 通过key找到对应的value
        1.2 通过遍历键值对, 获取 key 和value
                    理解为: 先找到地址, 然后找key和value
    '''
    
    # 创建列表
    dict_1 = {"name": "孙悟空", "age": 500, "address": "花果山",
                    "like": ["取经", "打妖精", "收拾二师兄"]}
    
    # 1.1  第一种方式  通过key 找到value
    for key in dict_1.keys():
        # 通过拼接 format字符串输出格式
        # print(f'{key} = {dict_1[key]}')
        print(f'{key} = {dict_1.get(key)}')
    
    print("-"*40)
    
    # 第二种方式 ,通过遍历键值对 ,然后再获取key 和value
    
    items = dict_1.items()
    #返回的是元组的形式
    print(items)#dict_items([('name', '孙悟空'), ('age', 500), ('address', '花果山'), ('like', ['取经', '打妖精', '收拾二师兄'])])
    
    print("-"*30)
    #第二种方式升级
    for a,b in dict_1.items():
        print(f"{a} = {b}")
    

2.4 enumerate 函数

  1. enumerate() 是 Python 内置函数之一,在遍历一个可迭代对象时,同时返回迭代对象的 索引和对应的元素。

  2. enumerate(iterable, start=0)

    • iterable: 必需,表示可迭代对象。
    • start: 可选,表示计数开始的值,默认为0。
    '''
    1.使用enumerate枚举使用
        返回列表索引对应的值
    
    '''
    list_1 = ["张飞", ",刘备", "关羽","赵云","黄钟"]
    
    for i  in  enumerate(list_1):
        print(i,type(i)) #返回一个元组
    
    print("-"*30) #华丽分割线
    
    #计数开始值  将2计为开始索引
    for i  in  enumerate(list_1,start=2):
        print(i,type(i)) #返回一个元组
    
    (0, '张飞') <class 'tuple'>
    (1, ',刘备') <class 'tuple'>
    (2, '关羽') <class 'tuple'>
    (3, '赵云') <class 'tuple'>
    (4, '黄钟') <class 'tuple'>
    ------------------------------
    (2, '张飞') <class 'tuple'>
    (3, ',刘备') <class 'tuple'>
    (4, '关羽') <class 'tuple'>
    (5, '赵云') <class 'tuple'>
    (6, '黄钟') <class 'tuple'>
    

2.5 扩展练习

2.5.1 判断是否能全部购买

  1. 一个列表,保存商品以及单价, 假如客户手里有500元是否能全部买下
    • 如果能请输出 “可以”,如果不能 请输出 “不可以”.
    '''
    1. 使用到的知识点
        遍历列表
        通过key值获取value
            字典[key] 或者 字典.get()
        分支结构
        累计求和
    '''
    
    product = [
        {"name": "鞋子", "price": 300},
        {"name": "衣服", "price": 80},
        {"name": "裤子", "price": 20},
        {"name": "帽子", "price": 100},
    ]
    #1.需要获取所有的商品的价格并进行判断,
    # 1.1 注意这是一个列表,嵌套元组
    money = 500 #一共有500元
    cash =0
    for i in product:
        #print(i)#相当于获取内部元素
        #通过key值寻找value并求和
        cash += i.get("price")
    
    #商品的总价格
    print("商品总价格 %d元 "%cash)
    #进行判断是否满足
    if cash>money:
        print("不能购买")
    else:
        print("可以购买")
    

2.5.2 学生信息的排序

  1. 使用字典 保存学生的信息

    • 学号
    • 姓名
  2. 将学生的信息按照学号由小到大排列, 排序后进行输出

    • 提示: sort() 默认升序 参数 reverse=True 是降序.
    '''
    1. 使用**字典** 保存学生的信息
    	- **学号**
    	- **姓名**
    2. 将学生的信息按照**学号由大到小排列**, 排序后进行输出
    '''
    
    # 1. 创建字典保存学号, 姓名
    dict = {"学号": [101, 102, 103, 104], "姓名": ["刘备", "关羽", "张飞", "赵云"]}
    
    #通过遍历, 字典获取值 dict.values() .
    for i in dict.values():
        #通过列表内置方法,sort(reverse = True)
        i.sort(reverse=True) # 列表排序
        #print(i)
    
    
    # 遍历输出结果
    for key,value in dict.items():
        print(key,value)
    
    

2.5.3 WordCount 输出字典

  1. 编写一个程序, 用于统计字符串每个字母出现次数(字母忽略大小写) ,统计出的结果,

    • 最后按照 字典的格式输出
    • {"a":2,"b":3}
    • 提示: 是否需要忽略 大小写 可以先统一转换为小写或者大写.
    # 1.1 创建字符串
    s = "HellO,world" 
    #1.2 创建空字典
    dict_1 = {}
    #首先遍历 字符串中所有数.
    #for i in s: # 如果不忽略就不需要转换.
    for i in s.lower():#忽略大小写统一转小写
        #在进行判断 列表中的查找 in 如果存在就累加
        if i in dict_1:
            dict_1[i] += 1
        else:
            dict_1[i] = 1
    print(dict_1)
    
    
    {'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, 'w': 1, 'r': 1, 'd': 1}
    

2.5.4 统计字符串数字出现次数

  1. 计算一个字符串中含有数字的数量,

    • s="a1b2c3d4"
    • 方法使用 字符串名. isdigit()
  2. 将数据存储到字典中. 最后结果输出为 {“num”:几个数字}

    '''
    1. 计算一个字符串中含有数字的数量,
        s="a1b2c3d4"
        方法使用 is
    2. 将数据存储到字典中.
        {"num":几个数字}
    '''
    
    # 1.创建一个字符串使用
    s = "a1b2c3d4"
    # 1.1 创建一个字典
    dict = {"num": 0}  # 创建一个空字典
    # 遍历字符串
    for i in s:
        # 查看输出
        # print(i,end=" ")
        # 判断是否存在
        if i.isdigit():
            # 如果有从1开始,每次累加
            dict["num"] += 1
            # print(i)
    
    print(dict.get("num"))
    
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像中的脸部、四肢问题及其解决方法

在SD绘图的时候经常会出现多个头部、多个身体部位或者多个手指的问题这里介绍一些通用的简单的解决办法。 文章目录 多个人物或者部位没有全身出境使用纵向尺寸脸部乱码和眼睛问题人物手指乱问题 多个人物或者部位 绘图基本信息 正面词 <lora:DynastyWarriors_wu_cloth:1…

若依框架学习

1.若依&#xff08;前后端分离版&#xff09; 1.1什么是若依 开源项目&#xff0c;学习开源项目的目的&#xff1a; 1.用别人的&#xff0c;减少自己的工作量 2.学习他的底层编程思想&#xff0c;设计思路&#xff0c;提高自己的编程能力 官网&#xff1a;www.ruoyi.vip …

“AI+RPA+数据+机器人”:深入解析“数字员工”的内涵和价值

世界正进入数字经济快速发展的时期。 2021年12月&#xff0c;中央网络安全和信息化委员会印发《“十四五”国家信息化规划》&#xff0c;提出加快建设数字中国&#xff0c;大力发展数字经济的总体目标&#xff1b;2022年1月&#xff0c;央行印发《金融科技发展规划&#xff08…

第十章 番外篇:DDP

参考教程&#xff1a; what is DDP pytorch distributed overview 文章目录 DDP介绍什么是DDPDistributedSampler()DistributedDataParallel() 使用DDP代码示例multiprocessing.spawn()save and load checkpoints DDP介绍 什么是DDP DDP的全称是DistributedDataParallel&…

Qt控件学习

目录 QPushButton QToolButton QRadioButton QCheckBox QPushButton MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);ui->n1->setText("我的世界");ui->n1->setIcon(QIcon(":/111…

异构广告混排在美团到店业务的探索与实践

转子&#xff1a;https://tech.meituan.com/2022/03/10/exploration-and-practice-of-heterogeneous-ad-mixed-ranking-in-meituan-ads.html 1 背景与简介 1.1 背景 美团到店广告负责美团搜索流量的商业变现&#xff0c;服务于到店餐饮、休娱亲子、丽人医美、酒店旅游等众多…

文言一心,ChatGLM-6B和ChatGPT等模型概述

原文首发于博客文章大语言模型概况 定义 &#xff08;个人理解的&#xff09;大语言模型&#xff08;Large Language Model&#xff09;是一种基于深度学习技术的自然语言处理通用模型&#xff0c;它可以通过学习大规模文本数据的模式和规律&#xff0c;从而实现对自然语言的理…

【面试】你知道数据库能抗多大并发压力吗?

文章目录 前言一、一般业务系统运行流程图二、一台4核8G的机器能扛多少并发量呢&#xff1f;三、高并发来袭时数据库会先被打死吗&#xff1f;四、数据库架构可以从哪些方面优化&#xff1f;4.1、根据业务系统拆分多个数据库机器优化方案4.2、读写分离架构优化方案4.3、分库分表…

华为手表上架(1)HarmonyOS应用 打包 .app

华为手表上架&#xff08;1&#xff09;HarmonyOS应用 打包 .app 初环境与设备先找到配置项目结构的地方&#xff1a; Project Structure配置证书打包 .app 在本文中&#xff0c;我们介绍探讨华为手表上架的流程&#xff0c;并重点介绍HarmonyOS应用的打包过程。了解如何将应用…

locust学习教程(5) - 分布式执行

目录 前言 1、基础 2、操作步骤 2.1、启动主节点 2.2、启动从节点 2.2.1、启动自己电脑的从节点 2.2.2、启动同事电脑的从节点 2.3、开始并发 3、无web界面&#xff0c;定时运行&#xff0c;数据存储在csv中、等待4个节点连接后自动开始 4、有web界面&#xff0c;定时运…

5年测试老鸟整理,企业自动化测试经验,不要再走弯路了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 2023年&#xff0…

vue-antdesign——实现table单元格合并+换行展示+滚动到指定位置+行样式设置——技能提升

最近在写后台管理系统&#xff0c;遇到一个需求&#xff0c;就是要实现表格table组件的合并单元格&#xff0c;并实现编辑等功能。 效果图如下&#xff1a; 下面做一下记录&#xff1a; 1.表格table组件实现单元格合并 之前写过一篇文章关于单元格合并的功能&#xff0c;这…

倒谱和同态去卷积

本文首发于算法社区&#xff0c;转载请注明出处&#xff0c;谢谢。 前言 倒谱的内容比较少&#xff0c;比较相关的就是同态系统去卷积了&#xff0c;所以把这两个放在一起了。 倒谱 我们考虑一个具有 z z z 变换的序列 { x n } \left \{ x_{n} \right \} {xn​} 。我们假设…

Elasticsearch(十一)搜索---搜索匹配功能②--range查询和exists查询

一、前言 继上一节学习了ES的搜索的查询全部和term搜索后&#xff0c;此节将把搜索匹配功能剩余的2个学习完&#xff0c;分别是range搜索和exists搜索 二、range范围搜索 range查询用于范围查询&#xff0c;一般是对数值型和日期型数据的查询。使用range进行范围查询时&…

创建多线程的四种方式

目录儿 一、创建线程的四种方式1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 线程池禁止使用 Executors 构建线程池构建线程池的正确方式 一、创建线程的四种方式 1. 继承Thread类 ① 创建一个类继承Thread类&#xff0c;重写run()方法 ② 调用start()方法启动线…

AI卷入618战场;印象AI开放次数限制;2023 AIGC人才趋势洞察报告;员工瞒着老板悄悄用AI;超好用的AI头像生成教程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 澳洲游戏媒体 Gamurs 招聘AI编辑&#xff0c;被各路媒体口诛笔伐 上周&#xff0c;澳洲知名游戏媒体集团 Gamurs 在官网招聘「AI Edit…

负载测试和压力测试有何区别?资深测试老鸟总结,一篇搞定...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 负载与压力测试 …

js中数组对象去重的几种方式

js中数组对象去重的几种方式 1、方法一&#xff1a;双层for循环2、对象访问属性的方法3、Map()方法4、reduce方法 首先我们定义数组的形式 let arrObj [{ name: "张三", key: 1 },{ name: "李四", key: 2 },{ name: "王五", key: 3 },{ name: &…

基于langchain+chatGLM搭建部署本地私有化知识库系统

前言 一、 自主GPT 所谓自主&#xff08;autonomous&#xff09;GPT是设计一个Agent&#xff0c;让它自己做计划、决策和动作&#xff0c;通过源源不断的迭代&#xff0c;去完成设定的目标。比如 AutoGPT 。 AutoGPT把GPT的能力推向了更高的应用层次。设定一个任务&#xff…

mac下qtcreator代码格式化

代码开发&#xff1a;qtcreator qtcreator 插件&#xff1a;Beautifier 格式化工具&#xff1a;clang-format 1、Beautifier插件安装 将复现框勾选后重启qtcreator即可。 2、安装clang-format工具 &#xff08;1&#xff09;打开终端输入下面命令等待安装完成 brew install…