Python零基础入门(五)——超详细的列表和元组介绍

news2024/11/23 19:02:05

系列文章目录

个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页
Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟
码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊


文章目录

  • 系列文章目录
  • 导语
  • 序列
    • 索引
    • 切片
    • 序列相加
    • 乘法
    • 检查某个元素是否是序列的成员(元素)
    • 计算序列的长度、最大值和最小值
  • 列表(list)
    • 列表的创建和删除
    • 访问列表元素
    • 遍历列表
    • 添加、修改和删除列表元素
    • 对列表进行统计计算
    • 对列表进行排序
    • 列表推导式
  • 元组(tuple)
    • 元组的创建和删除
    • 访问元组元素
    • 遍历元组
    • 修改元组元素
    • 元组推导式
  • 元组和列表的区别
  • 结语

导语

欢迎来到本篇博客!上一篇博客介绍了 Python 的变量、数据类型和操作符。本文将带领你逐步入门 Python 编程语言中的列表和元组,这两个重要的数据结构将在你的编程旅程中发挥重要作用。

序列

在介绍列表和元组这两种 Python 中的数据结构前,要先了解序列。在数学里,序列也称为数列,是指按照一定顺序排列的一列数,而在程序设计中,序列是一种常用的数据存储方式,几乎每一种程序设计语言都提供了类似的数据结构。例如,C 语言或 Java 中的数组等。

在 Python 中序列是最基本的数据结构。它是一块用于存放多个值的连续内存空间。Python 中内置了 5 个常用的序列结构,分别是列表、元组、集合、字典和字符串。

对于这些序列结构有以下几个通用的操作:索引,切片,序列相加,乘法,检查某元素是否为序列的成员,计算序列长度、最大值、最小值等。

索引

序列中的每一个元素都有一个编号,也称为索引。这个索引是从 0 开始递增的,即下标为 0 表示第一个元素,下标为 1 表示第 2 个元素,依此类推。如图所示:
在这里插入图片描述
Python 的索引还可以是负数。这个索引从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值是 -1,倒数第二个元素的索引值为 -2,依此类推。如图所示:

在这里插入图片描述
通过索引可以访问序列中的任何元素。实现索引操作的示例代码如下:

verse = ["圣安东尼奥马刺","洛杉矶湖人","休斯顿火箭","金州勇士"]
print(verse[2])			# 输出第 3 个元素
print(verse[-1])			# 输出最后一个元素

切片

切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列。实现切片操作的示例代码如下:

nba = ["迈克尔.乔丹","比尔.拉塞尔","卡里姆阿卜杜勒.贾巴尔","威尔特.张伯伦",
		"埃尔文.约翰逊","科比.布菜恩特","蒂姆.邓肯","勒布朗詹姆斯","拉里.伯德",
		"沙奎尔.奥尼尔"]
print(nba[1:5])			# 获取第 2 个到第 5 个元素
print(nba[0:5:2])			# 获取第 1 个、第 3 个和第 5 个元素
print(nba[:])			# 获取整个序列

序列相加

在 Python 中,支持两种相同类型的序列相加操作。即将两个序列进行连接,使用加(+)运算符实现。例如,将两个列表相加,可以使用下面的代码:

nba1 = ["史蒂芬.库里","克莱.汤普森","马努.吉诺比利","凯文.杜兰特"]
nba2 = ["迈克尔.乔丹","比尔.拉塞尔","卡里姆阿卜杜勒.贾巴尔","威尔特.张伯伦",
		"埃尔文.约翰逊","科比.布菜恩特","蒂姆.邓肯","勒布朗詹姆斯","拉里.伯德",
		"沙奎尔.奥尼尔"]
print (nba1 + nba2)

在进行序列相加时,相同类型的序列是指,同为列表、元组或集合等,序列中的元素类型可以不同。

乘法

在 Python 中,使用数字 n 乘以一个序列会生成新的序列。新序列的内容为原来序列被重复 n 次的结果。例如,下面的代码,将实现将一个序列乘以 3 生成一个新的序列并输出,从而达到 “重要事情说三遍” 的效果。

phone = ["华为","小米","OPPE","VIVO"]
print(phone * 3)

在进行序列的乘法运算时,还可以实现初始化指定长度列表的功能。例如下面的代码,将创建一个长度为 5 的列表,列表的每个元素都是 None,表示什么都没有。

emptylist = [None] * 5
print(emptylist)

检查某个元素是否是序列的成员(元素)

在 Python 中,可以使用 in 关键字检查某个元素是否是序列的成员,即检查某个元素是否包含在该序列中,也可以使用 not in 关键字实现检查某个元素是否不包含在指定的序列中。示例代码如下:

nba = ["史蒂芬.库里","克莱.汤普森","马努.吉诺比利","凯文.杜兰特"]
print("凯文.杜兰特" in nba)				# 将显示 True,表示在序列中存在指定的元素
print("凯文.杜兰特" not in nba)			# 将显示 False,表示在序列中并非不存在指定的元素

计算序列的长度、最大值和最小值

在 Python 中,提供了内置函数计算序列的长度、最大值和最小值。分别是:使用 len() 函数计算序列的长度,即返回序列包含多少个元素;使用 max() 函数返回序列中的最大元素;使用 min() 函数返回序列中的最小元素。示例代码如下:

num = [2,8,9,4,5]
print(len(num))
print(max(num))
print(min(num))

除了上面介绍的 3 个内置函数,Python 还提供了下表所示的内置函数:

函数作用
list()将序列转换为列表
str()将序列转换为字符串
sum()计算元素和
sorted()对元素进行排序
reversed()反向序列中的元素
enumerate()将序列组合为一个索引序列,多用在 for 循环中

列表(list)

列表是 Python 中最常用的数据结构之一,它是一个有序的、可变的序列。在形式上,列表的所有元素都放在一对中括号 “[]” 中,两个相邻元素间使用逗号 “,” 分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,并且同一个列表中,元素的类型可以不同,因为它们之间没有任何关系。

列表的创建和删除

在 Python 中提供了多种创建列表的方法,下面分别进行介绍。

  1. 使用赋值运算符直接创建列表

    同其他类型的 Python 变量一样,创建列表时,也可以使用赋值运算符 “=” 直接将一个列表赋值给变量,示例代码如下:

    num = [2,8,9,4,5]
    python = ['优雅','明确','简单']
    mixed =  ['Python',28,"人生苦短,我用Python",["爬虫","自动化运维","云计算","Web开发"]]
    
  2. 创建空列表

    在 Python 中,也可以创建空列表,例如,要创建一个名称为 emptylist 的空列表,可以使用下面的代码:

    emptylist = []
    
  3. 创建数值列表

    在 Python 中,数值列表很常用。可以使用 list() 函数直接将 range() 函数循环出来的结果转换为列表。例如,创建一个 10~20 之间(不包括20)所有偶数的列表,可以使用下面的代码:

    datalist = list(range(10,20,2))
    
  4. 删除列表
    对于已经创建的列表,不再使用时,可以使用 del 语句将其删除(在实际开发时,并不常用。因为 Python 自带的垃圾回收机制会自动销毁不用的列表,所以即使我们不手动将其删除,Python 也会自动将其回收)。

    python = ['优雅','明确','简单']
    del python
    

访问列表元素

使用索引即可访问列表中指定元素:

mixed =  ['Python',28,"人生苦短,我用Python",["爬虫","自动化运维","云计算","Web开发"]]
print(mixed)			# 在输出列表时,是包括左右两侧的中括号的
print(mixed[1])			
print(mixed[2])		# 在输出单个列表元素时,不包括中括号,如果是字符串,不包括左右的引号
print(mixed[:3])	# 输出第 1 个到第 3 个列表元素

遍历列表

遍历列表中的所有元素是常用的一种操作,在遍历的过程中可以完成查询、处理等功能。下面介绍两种常用的方法:

  1. 直接使用 for 循环实现

    直接使用 for 循环遍历列表,只能输出元素的值,示例代码如下:

    nba = ['圣安东尼马刺','洛杉矶湖人','金州勇士','休斯顿火箭']
    print('2022年NBA四强:')
    for item in nba:
    	print(item)
    
  2. 使用 for 循环和 enumerate() 函数实现

    使用 for 循环和 enumerate() 函数可以实现同时输出索引值和元素内容的功能,示例代码如下:

    nba = ['圣安东尼马刺','洛杉矶湖人','金州勇士','休斯顿火箭']
    print('2022年NBA四强:')
    for index,item in enumerate(nba):   
    	print(index+1,item)
    

添加、修改和删除列表元素

添加、修改和删除列表元素也称为更新列表。在实际开发时,经常需要对列表进行更新。下面我们就分别介绍如何实现列表元素的添加、修改和删除:

  1. 添加元素:

    phone = ["华为","小米","OPPE","VIVO"]
    phone.append("iPhone")			# 列表对象的 append() 方法用于在列表的末尾追加元素
    print(phone)             
    phone.insert(1,"荣耀")			# 除了使用 append() 向列表中添加元素,还可以使用 insert() 向指定位置插入元素
    print(phone)
    newphone = ["三星","1+"]
    phone.extend(newphone)   # 列表对象的 extend() 方法可以将一个列表的全部元素添加到另一个列表中
    print(phone)
    
  2. 修改元素

    phone = ['华为', '荣耀', 'OPPO', 'OPPE', 'VIVO', 'iPhone', '三星', '1+']
    phone[3] = "OPPO"				# 修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可
    print(phone)
    
  3. 删除元素

    phone = ['华为', '荣耀', 'OPPO', 'OPPE', 'VIVO', 'iPhone', '三星', '1+']
    del phone[3]           			# 根据索引删除
    print(phone)
    phone.remove("1+")        # 根据元素值移除第一个匹配项
    print(phone)
    

    使用 remove() 方法删除元素前,最好先判断该元素是否存在,如果指定的元素不存在,将出现异常:

    phone = ['华为', '荣耀', 'OPPO', 'OPPE', 'VIVO', 'iPhone', '三星', '1+']
    value = '1+'
    if phone.count(value)>0:			# 判断要删除的元素是否存在
    	phone.remove(value)			# 移除指定的元素
    print(phone)
    

对列表进行统计计算

Python 的列表提供了内置的一些函数来实现统计、计算方面的功能。如列表对象的 count() 方法可以获取指定元素在列表中的出现次数,列表对象的 index() 方法可以获取指定元素在列表中首次出现的位置(即索引),sum() 函数用于统计数值列表中各元素的和。

phone = ["华为","小米","OPPE","VIVO"]
phone.count('小米')        # 获取指定元素出现的次数
phone.index('小米')        # 获取指定元素首次出现的下标
grade = [98,99,97,100,100,96,94,89,95,100]			# 10 名学生 Python 理论成绩列表
total = sum(grade)							# 计算总成绩
print("Python 理论总成绩为:",total)

对列表进行排序

在实际开发时,经常需要对列表进行排序。Python 中提供了两种常用的对列表进行排序的方法:使用列表对象的 sort() 方法和使用内置的 sorted() 函数。

grade = [98,99,87,84,100,95]      # 使用列表对象的 sort() 方法实现
grade.sort(key = None,reverse = False)
print(grade)
grade_as = sorted(grade,reverse = True)   # 使用内置的 sorted() 函数
print(grade_as)

参数说明:

  • key:表示指定一个从每个列表元素中提取一个用于比较的键(例如,设置 “key = str.lower” 表示在排序时不区分字母大小写)。
  • reverse:可选参数,如果将其值指定为 True,则表示降序排列;如果为 False,则表示升序排列。默认为升序排列。

列表对象的 sort() 方法和内置 sorted() 函数的作用基本相同,所不同的就是使用 sort() 方法时,会改变原列表的元素排列顺序,而使用 sorted() 函数时,会建立一个原列表的副本,该副本为排序后的列表。

列表推导式

使用列表推导式可以快速生成一个列表, 或者根据某个列表生成满足指定需求的列表。列表推导式通常有以下几种常用的语法格式。

# 生成指定范围的数值列表,如生一个包括 10 个随机数的列表,要求数的范围在 10-100 之间
import random		# 导入 random 标准库
randomnumber = [random.randint(10,100) for i in range(10)]
print("生成的随机数为:",randomnumber)
# 根据列表生成指定需求的列表
x = list(range(0,10,1))
y = [int(var**2 + 5*var + 5) for var in x]
print(y)
# 从列表中选择符合条件的元素组成新的列表
price = [1200,5330,2988,6200,1998,8888]
sale = [x for x in price if x>5000]
print("原列表:",price)
print("价格高于5000的:",sale)

元组(tuple)

元组是 Python 中另一个常见的数据结构,与列表相似,但是它是不可变序列。因此,元组也可以称为不可变的列表。在形式上,元组的所有元素都放在一对 “()” 中,两个相邻元素间使用逗号 “,” 分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中,并且在同一个元组中,元素的类型可以不同,因为它们之间没有任何关系。通常情况下,元组用于保存程序中不可修改的内容。

元组的创建和删除

在 Python 中提供了多种创建元组的方法,下面分别进行介绍。

  1. 使用赋值运算符直接创建元组

    同其他类型的 Python 变量一样,创建元组时,也可以使用赋值运算符 “=” 直接将一个元组赋值给变量,示例代码如下:

    num = (7,14,21,28,35,42)
    team = ('马刺','火箭','勇士','湖人')
    
  2. 创建空元组

    在 Python 中,也可以创建空元组,例如,要创建一个名称为 emptytuple 的空元组,可以使用下面的代码:

    emptytuple = ()
    
  3. 创建数值元组

    在 Python 中,可以使用 tuple() 函数直接将 range() 函数循环出来的结果转换为数值元组。例如,创建一个 10~20 之间(不包括20)所有偶数的元组,可以使用下面的代码:

    tuple(range(10,20,2))
    
  4. 删除元组

    对于已经创建的元组,不再使用时,可以使用 del 语句将其删除(在实际开发时,并不常用。因为 Python 自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动将其删除,Python 也会自动将其回收)。

    python = ('优雅','明确','简单')
    del python
    

访问元组元素

使用索引即可访问元组中指定元素:

mixed = ('Python',28,"人生苦短,我用Python",["爬虫","自动化运维","云计算","Web开发"])
print(mixed)			# 在输出元组时,是包括左右两侧的小括号的
print(mixed[1])			
print(mixed[2])		# 在输出单个元组元素时,不包括小括号,如果是字符串,不包括左右的引号
print(mixed[:3])	# 输出第 1 个到第 3 个元组元素

遍历元组

同列表一样,元组也可以使用 for 循环进行遍历。

修改元组元素

元组是不可变序列,所以不能对它的单个元素值进行修改。但是元组也不是完全不能修改。我们可以对元组进行重新赋值。例如,下面的代码是允许的:

country = ('中国','美国','日本','韩国','英国')
country = ('中国','法国','日本','韩国','英国')
print(country)     	 # 对元组重新幅值

另外,还可以对元组进行连接组合。例如,可以使用下面的代码实现在已经存在的元组结尾处添加一个新元组。

country = ('中国','法国','日本','韩国','英国')
country2 = ('俄罗斯','印度')
print(country + country2)
country3 = ('美国',)
print(country + country2 + country3)   # 进行元组连接

如果要连接的元组只有一个元素时,一定不要忘记后面的逗号

元组推导式

使用元组推导式可以快速生成一个元组,它的表现形式和列表推导式类似,只是将列表推导式中的中括号 “[]” 修改为小括号 “()"。

# 生成指定范围的数值元组,如生一个包括 10 个随机数的元组,要求数的范围在 10-100 之间
import random		# 导入 random 标准库
randomnumber = (random.randint(10,100) for i in range(10))
print("生成的随机数为:",randomnumber)
# 根据元组生成指定需求的元组
x = tuple(range(0,10,1))
y = (int(var**2 + 5*var + 5) for var in x)
print(y)
# 从元组中选择符合条件的元素组成新的元组
price = (1200,5330,2988,6200,1998,8888)
sale = (x for x in price if x>5000)
print("原列表:",price)
print("价格高于5000的:",sale)

执行结构如下:

在这里插入图片描述
从上面的执行结果中,可以看出使用元组推导式生成的结果并不是一个元组或者列表,而是一个生成器对象,这一点和列表推导式是不同的,需要使用该生成器对象可以将其转换为元组或者列表。其中,转换为元组需要使用 tuple() 函数,而转换为列表则需要使用 list() 函数。

因此,可将代码改写如下:

# 生成指定范围的数值元组,如生一个包括 10 个随机数的元组,要求数的范围在 10-100 之间
import random		# 导入 random 标准库
randomnumber = (random.randint(10,100) for i in range(10))
randomnumber = tuple(randomnumber)
print("生成的随机数为:",randomnumber)
# 根据元组生成指定需求的元组
x = tuple(range(0,10,1))
y = (int(var**2 + 5*var + 5) for var in x)
y = tuple(y)
print(y)
# 从元组中选择符合条件的元素组成新的元组
price = (1200,5330,2988,6200,1998,8888)
sale = (x for x in price if x>5000)
sale = tuple(sale)
print("原列表:",price)
print("价格高于5000的:",sale)

要使用通过元组推导器生成的生成器对象,还可以直接通过 for 循环遍历或者直接使用 __ next()__方法进行遍历。

例如,通过生成器推导式生成一个包含 3 个元素的生成器对象 number,然后调用 3 次 __next()__ 方法输出每个元素,再将生成器对 number 转换为元组输出,代码如下:

number = (i for i in range(3))
print(number.__next__())			# 输出第 1 个元素
print(number.__next__())			# 输出第 2 个元素
print(number.__next__())			# 输出第 3 个元素
number = tuple(number)			# 转换为元组
print("转换后:",number)

执行结果如下:

在这里插入图片描述
再如,通过生成器推导式生成一个包括 4 个元素的生成器对象 number,然后应用 for 循环遍历该生成器对象,并输出每一个元素的值,最后再将其转换为元组输出,代码如下:

number = (i for i in range(4))		# 生成生成器对象
for i in number:				# 遍历生成器对象
    print(i,end = " ")			# 输出每个元素的值
print(tuple(number))			# 转换为元组输出

执行结果如下:

在这里插入图片描述
从上面的两个示例中可以看出,无论通过哪种方法遍历后,如果再想使用该生成器对象,都必须重新创建一个生成器对象,因为遍历后原生成器对象已经不存在了。

元组和列表的区别

  1. 列表属于可变序列,它的元素可随意修改或删除;而元组属于不可变序列,其中的元素不可以修改,除非整体替换

  2. 列表可以使用 append()extend()insert()remove()pop() 等方法实现添加和修改列表元素;而元组则没有这几个方法,因为不能向元组中添加和修改元素,同样也不能删除元素

  3. 列表可以使用切片访问和修改列表中的元素;元组也支持切片,但只支持通过切片访问,不支持修改

  4. 元组比列表的访问和处理速度快,如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组

  5. 列表不能作为字典的键,而元组则可以

结语

在本篇博客中,我们介绍了 Python 中的列表和元组。列表是有序的、可变的集合,可以存储不同类型的元素,并且支持添加、插入、删除等操作。而元组是不可变的,一旦创建就不能修改其中的元素,通常用于存储多个值的打包和保护数据的完整性。

这些是 Python 编程中非常常用的数据结构,对于初学者来说,掌握列表和元组的基础知识是非常重要的。希望本篇博客对你理解列表和元组有所帮助。祝你在学习 Python 的过程中取得成功!

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

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

相关文章

Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键

问题 在 MySQL 中设计表的时候,MySQL 官方推荐不要使用 uuid 或者不连续不重复的雪花 id(long 型且唯一),而是推荐连续自增的主键 id,官方的推荐是 auto_increment,那么为什么不建议采用 uuid,使用 uuid 究竟有什么坏处? MySQL 和程序实例 1、要说明这个问题,我们首先…

开关电源-6中常用的防反接电路

6种常用防反接电路介绍 电源反接,会给电路造成损坏,电源反接是不可避免的。所以我们就需要给电路中加入保护电路,达到即使接反电源,也不会损坏的目的,下面介绍几种常用防反接电路。 一、单二极管防反接电路 二极管防…

RabbitMQ 2023面试5题(一)

一、RabbitMQ延时队列可以用于哪些场景 RabbitMQ延时队列可以用于以下场景: 订单处理:在电商网站中,订单处理是一个常见的业务流程。如果订单需要立即处理,可以使用RabbitMQ的延时队列来实现延迟处理。例如,可以将订单…

SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接

文章目录 前后端对接前端接口修改对接后端后端总体配置后端编写登录登出业务代码 测试后端所有代码 前后端对接 前端接口修改对接后端 src\api\user.js中修改请求地址,与后端保持一致 记录下前端的src\utils\request.js中的X-Token字段 改变开发环境中的请求地…

Golang每日一练(leetDay0108) 灯泡开关I\II Bulb Switcher

目录 319. 灯泡开关 Bulb Switcher 🌟🌟 672. 灯泡开关II Bulb Switcher ii 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每…

基于Java校园快递一站式服务系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

【八大排序(十)】八大排序效率与稳定性分析

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:八大排序专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习排序知识   🔝🔝 八大排序总结 1. 前言2. 什么是排序算法的…

基于多模态变分对抗主动学习的下游医学图像分析任务

文章目录 M-VAAL: Multimodal Variational Adversarial Active Learning for Downstream Medical Image Analysis Tasks摘要本文方法实验结果 M-VAAL: Multimodal Variational Adversarial Active Learning for Downstream Medical Image Analysis Tasks 摘要 在医学领域&…

chatgpt赋能python:Python自动执行某个软件

Python自动执行某个软件 Python是一种简单易用且非常流行的编程语言,常用于自动化和数据分析。如果你想自动执行某个软件,那么Python将是一个非常好的选择。在本文中,我们将介绍如何使用Python自动执行某个软件,以及如何做好SEO优…

第 351 场LeetCode周赛

A 美丽下标对的数目 模拟 class Solution { public:int countBeautifulPairs(vector<int> &nums) {int n nums.size();int res 0;for (int i 0; i < n; i)for (int j i 1; j < n; j)if (gcd(to_string(nums[i])[0] - 0, to_string(nums[j]).back() - 0) …

人工智能技术与GIS结合的发展

个人本是GIS专业出身&#xff0c;不知名985高校本硕。工作几年后先后积累了国土空间规划、cesium开发、地理信息数据采集、地理大数据处理&#xff0c;遥感影像处理、人工智能识别&#xff0c;做过十多个500万以上的相关项目&#xff0c;有一些浅薄的经验&#xff0c;想和大家分…

tinykv project4总结

主要目标 实现mvcc和2pc, Percolator partA 将存储分为三个独立的部分&#xff0c;lock&#xff08;管理锁记录&#xff09; default(存储数据)&#xff0c;write(提交的记录)&#xff0c;提高并行性 对于lock存储&#xff0c;只要存储一份&#xff08;因为一个行同时只能有…

chatgpt赋能python:用Python编写聊天机器人:打造AI智能助手

用Python编写聊天机器人&#xff1a;打造AI智能助手 简介 聊天机器人在现代生活中越来越受欢迎。一个好的聊天机器人能够回答我们的问题、执行任务、提供娱乐&#xff0c;甚至成为我们的朋友。Python是一种强大的编程语言&#xff0c;其模块化和易学的特性使其成为开发聊天机…

GPT-4在药物发现中的作用|景联文科技

GPT-4是一种生成式AI模型&#xff0c;可以响应文本和图像&#xff0c;它代表了生成式AI可能实现的重大进步。 药物发现的最早任务之一是检索和观察与靶蛋白结合的已知分子。这可能会导致一种基于知识的筛选方法&#xff0c;人们试图通过仅检查这些分子来进行筛选。我们让GPT-4…

【MySQL数据库的表连接语句】

目录 一、连接查询1、inner join(内连接)2、left join(左连接)3、right join(右连接) 二、CREATE VIEW三、UNION取非交集的值 五、CASE六、空值(NULL) 和 无值() 的区别 一、连接查询 A表 B表 UPDATE store_info SET store_nameWashington WHERE sales300;#修改一下表里面的…

chatgpt赋能Python-python自动化办公真的有用吗_知乎

简介 如今&#xff0c;Python作为一种必学的编程语言&#xff0c;已经走进了各行各业的办公场景。Python自动化办公也逐渐成为了一个热门话题&#xff0c;很多人开始使用Python来进行一些机械化、重复性的办公工作&#xff0c;例如数据清洗、文本处理、文件管理、自动发送邮件…

专业CPU信息检测工具:CPU-Z

今天小编为大家测试了一款轻量级的CPU处理器的测试工具&#xff0c;可以查看CPU的详细信息&#xff0c;以供各位同学们学习。 一、简单介绍 CPU-Z是一款非常流行的CPU检测软件&#xff0c;被广大用户所熟知。它是目前最受欢迎的CPU检测软件之一&#xff0c;除了Intel和AMD自带…

chatgpt赋能python:Python自动化填表:省时省力的数据录入方式

Python自动化填表&#xff1a;省时省力的数据录入方式 现代社会&#xff0c;数据填写是我们日常工作中不可避免的一项任务。但手动填写数据不仅费时费力&#xff0c;还容易出错。那么有没有一种方法可以既省时又省力呢&#xff1f;答案是有的&#xff0c;那就是Python自动化填…

Swagger与knife4j接口文档组件详解

swagger介绍 相信无论是前端还是后端开发&#xff0c;都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力&#xff0c;经常来不及更新。其实无论是前端调用后端&#xff0c;还是后端调用后端&#xff…

【数据挖掘】——常见算法对比和选择

&#x1f935;‍♂️ 个人主页&#xff1a;Lingxw_w的个人主页 ✍&#x1f3fb;作者简介&#xff1a;计算机科学与技术研究生在读 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01; &#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4…