python 公共函数及操作符使用示例合集

python公共操作符以及方法是什么

在Python中,公共操作通常指的是那些可以对不同数据类型(如数字、字符串、列表、元组、字典等)进行操作的通用函数或方法。这些操作符或函数通常是内置的,并且可以在Python的官方文档中找到。
主要内容又三种公共操作方式

  1. 运算符
  2. 公共方法
  3. 容器类型转换

公共操作就是数据序列基本上都支持的一些操作

常用的几种数据序列:字符串、列表、元组、字典

运算符

运算符支持的容器类型
+(合并)字符串、列表、元组
*(复制)字符串、列表、元组
in(元素是否存在)字符串、列表、元组、字典、集合
not in(元素是否不存在)字符串、列表、元组、字典、集合

+合并

示例代码如下

# 字符串
str1 = 'abc'
str2 = 'def'
# 列表
list1 = [1, 2, 3]
list2 = [4, 5, 6]
# 元组
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)

输出如下
在这里插入图片描述

这里为什么没有字典呢?

那是因为字典不支持直接使用 + 拼接,字典在Python中是一种映射(mapping)类型,它存储了键(key)和值(value)的对应关系,而不是一种可迭代对象(如列表或元组)。字典的键和值之间没有固定的顺序,这意味着我们不能简单地将两个字典的键和值“拼接”在一起。
当你尝试使用 + 操作符来拼接两个字典时,Python会报错,因为它不知道如何合并两个键和值之间没有顺序的数据结构。与列表或元组不同,字典没有“顺序”的概念,因此不能简单地通过“+”操作符来合并。
具体字典应该使用什么方法会在下面讲解

* 复制

在Python中,* 符号具有多种用途,具体取决于其上下文。当涉及到复制时,* 符号主要用于复制列表、元组、字符串和其他可迭代对象。这种复制通常被称为“浅复制”,因为它只复制对象的最外层结构,而不复制嵌套的对象。

列表和元组的复制
对于列表和元组,* 符号可以用来创建这些集合的副本

示例代码如下

# 字符串
str1 = 'ikun'
# 列表
list1 = ['ikun']
# 元组
tuple1 = ('ikun',)# * 复制字符串
print(f'复制字符串:{str1 * 5}')
# * 复制列表
print(f'复制列表:{list1 * 5}')
# * 复制元组
print(f'复制元组:{tuple1 * 5}')

输出如下

在这里插入图片描述
从上面的示例可以看出,还是没有字典
和上面的的原因一样在Python中,* 操作符不能直接用来复制字典,因为字典是一种映射类型(mapping),而不是序列类型(sequence)。序列类型(如列表、元组和字符串)的元素可以通过索引访问,并且它们的长度是固定的,因此可以使用 * 操作符进行重复操作。然而,字典的元素是通过键(key)来访问的,而不是通过索引,而且字典的大小(即包含的键值对数量)是可变的。

由于字典没有固定的顺序,并且是通过键来访问元素的,所以使用 * 操作符来复制字典没有意义。

in 元素是否存在

在Python中,in 是一个成员运算符,用于检查某个元素是否存在于给定的集合(如列表、元组、字典、集合或字符串)中。如果元素存在于集合中,in 运算符返回 True,否则返回 False。

in 运算符的语法很简单:element in collection。这里,element 是你想要检查的元素,而 collection 是你想要搜索的集合。

完蛋,这人工智能不正经
在这里插入图片描述
牛逼
在这里插入图片描述
好了废话不多说,直接上代码示例

# 字符串
str1 = 'ikun is a good man, i love him'
# 列表
list1 =['ikun','is','a','good', 'man', 'i', 'love', 'him']
# 元组
tuple1 = ('ikun','is','a','good', 'man')
# 字典
dict1 = {'name': 'ikun', 'age': 18}
# 集合
set1 = {'ikun', 'is', 'a', 'good', 'man'}
# in 字符串指定数据存在
print(f'字符串指定数据存在:{"ikun" in str1}')  # True
# in 字符串指定数据不存在
print(f'字符串指定数据不存在:{"bad" in str1}')  # False
print('-'*30)# in 列表指定数据存在
print(f'列表指定数据存在:{4 in list1}')  # True
# in 列表指定数据不存在
print(f'列表指定数据不存在:{8 in list1}')  # False
print('-'*30)# in 元组指定数据存在
print(f'元组指定数据存在:{'ikun' in tuple1}')  # True
# in 元组指定数据不存在
print(f'元组指定数据不存在:{99 in tuple1}')  # False
print('-'*30)# in 字典指定数据存在
print(f'字典指定数据存在:{"name" in dict1}')  # True
# in 字典指定数据不存在
print(f'字典指定数据不存在:{"sex" in dict1}')  # False
print('-'*30)# in 集合指定数据存在
print(f'集合指定数据存在:{'ikun' in set1} ')
# in 集合指定数据不存在
print(f'集合指定数据不存在:{'v' in set1}')

输出如下
在这里插入图片描述

not in 元素是否不存在

“not in” 是Python中的一个成员运算符,用于检查某个元素是否不在给定的集合(如列表、元组、字典等)中。这个操作符返回一个布尔值:如果元素不在集合中,返回True;否则返回False。

"not in"操作符的一般语法是:element not in collection,其中element是要检查的元素,collection是要搜索的集合。

例如,如果我们有一个列表my_list = [1, 2, 3, 4, 5],我们可以使用"not in"来检查一个元素是否不在这个列表中,如6 not in my_list将返回True,因为6不在my_list中。

请注意,这与"in"运算符相反,"in"运算符用于检查元素是否存在于集合中。如果元素存在,它将返回True;如果元素不存在,它将返回False。

示例代码如下

# 字符串
str1 = 'ikun is a good man, i love him'
# 列表
list1 =['ikun','is','a','good', 'man', 'i', 'love', 'him']
# 元组
tuple1 = ('ikun','is','a','good', 'man')
# 字典
dict1 = {'name': 'ikun', 'age': 18}
# 集合
set1 = {'ikun', 'is', 'a', 'good', 'man'}
# not in 字符串指定数据存在
print(f'字符串指定数据存在:{"ikun" not in str1}')  # False
# not in 字符串指定数据不存在
print(f'字符串指定数据不存在:{"bad" not in str1}')  # True
print('-'*30)# not in 列表指定数据存在
print(f'列表指定数据存在:{'ikun' not in list1}')  # False
# not in 列表指定数据不存在
print(f'列表指定数据不存在:{'bad' not in list1}')  # True
print('-'*30)# not in 元组指定数据存在
print(f'元组指定数据存在:{'ikun' not in tuple1}')  # False
# not in 元组指定数据不存在
print(f'元组指定数据不存在:{'bad' not in tuple1}')  # True
print('-'*30)# not in 字典指定数据存在
print(f'字典指定数据存在:{"name" not in dict1}')  # False
# not in 字典指定数据不存在
print(f'字典指定数据不存在:{"sex" not in dict1}')  # True# not in 集合指定数据存在
print(f'集合指定数据存在{"ikun" not in set1}')
# not in 集合指定数据不存在
print(f'集合指定数据不存在:{"bad" not in set1}')

输出如下
在这里插入图片描述

python 公共方法

公共方法就是容器类型都支持使用的一些公共函数

函数说明
len()统计数据序列中元素个数
del/del()删除
max()返回容器中元素的最大值
min()返回容器中元素最小值
range(start, end, step)生成start到end的数字,步长为step
enumerate(可迭代对象, start=0)将一个可迭代的数据对象(列表、元组、字符串)组合成一个索引序列,同时列出数据和数据的下标,配合for使用

len()

len() 是 Python 中的一个内置函数,用于返回对象(如字符串、列表、元组、字典等)的长度或元素个数。这对于了解数据结构的大小或长度非常有用。

示例代码如下

# 字符串
str1 = 'ikun is a good man, i love him'
# 列表
list1 =['ikun','is','a','good', 'man', 'i', 'love', 'him']
# 元组
tuple1 = ('ikun','is','a','good', 'man')
# 字典
dict1 = {'name': 'ikun', 'age': 18}
# 集合
set1 = {'ikun', 'is', 'a', 'good', 'man'}# 统计字符串字符个数
print(len(str1))
# 统计列表元素个数
print(len(list1))
# 统计元组字符个数
print(len(tuple1))
# 统计集合字符个数
print(len(set1))

输出如下
在这里插入图片描述

tips:

  • 对于字符串,len() 返回字符的数量。
  • 对于列表、元组、字典和集合,len() 返回元素的数量。
  • 对于其他自定义对象,如果它们定义了 len() 方法,那么 len() 将返回该方法的结果。如果没有定义 __len__() 方法,尝试对自定义对象使用 len() 将引发 TypeError。

示例代码如下

# 自定义对象,并定义 __len__() 方法  
class MyCollection:  def __init__(self):  self.items = []  def add(self, item):  self.items.append(item)  def __len__(self):  return len(self.items)  # 创建一个 MyCollection 对象,并添加一些元素  
my_collection = MyCollection()  
my_collection.add("apple")  
my_collection.add("banana")  
my_collection.add("cherry")  # 使用 len() 获取 MyCollection 对象的元素数量  
print(len(my_collection))  # 输出: 3

del/del()

在Python中,del 是一个内置语句,它用于删除对象的引用,从而释放内存。当你使用 del 语句时,你实际上是在告诉Python解释器:“我不再需要这个对象了,所以请释放与它相关的内存。”

del删除变量

删除变量:删除单个或多个变量的引用。
示例代码如下

x = 'ikun'
y = 'is a good man, i love him'  del x  # 现在 x 不再存在  
print(x)  # 这将引发一个 NameError,因为 x 已经被删除  del y  # 现在 y 也不再存在

输出如下
在这里插入图片描述
删除列表、元组或字典中的元素:通过索引或键删除列表、元组或字典中的元素。

my_list = [1, 2, 3, 4, 5]  
del my_list[1]  # 删除索引为 1 的元素,即 2  
print(my_list)  # 输出: [1, 3, 4, 5]  my_dict = {'a': 1, 'b': 2, 'c': 3}  
del my_dict['b']  # 删除键为 'b' 的项  
print(my_dict)  # 输出: {'a': 1, 'c': 3}

tips:del 不能用于删除字符串中的字符,因为字符串是不可变的。

del 与其他删除方法的比较

  • del:这是一个语句,用于删除对象的引用。它适用于任何类型的对象,包括变量、列表元素、字典项等。
  • pop():这是一个列表方法,用于删除并返回列表中的最后一个元素(或指定索引的元素)。它只适用于列表。
  • remove():这是一个列表方法,用于删除列表中的第一个匹配项。它只适用于列表。
  • clear():这是一个字典方法,用于删除字典中的所有项。它只适用于字典。

max()

Python中的max()函数是一个内置函数,用于找出给定参数中的最大值。这个函数可以接受任意数量的参数,并且这些参数可以是数值或者是可迭代的对象,如列表、元组等。

当max()函数传入的是两个或多个数值时,它会返回其中的最大值。例如,max(3, 5, 7, 9)会返回9。

当max()函数传入的是字符串时,它会比较字符串的字典序,并返回最大的那个字符串。例如,max(“apple”, “banana”, “cherry”)会返回"cherry"。

当max()函数传入的是序列(如列表、元组)时,它会返回序列中的最大值。例如,max([1, 2, 3, 4, 5])会返回5。如果序列的元素是字符串,那么max()函数会返回字典序最大的字符串。

此外,max()函数还支持一个可选的关键字参数key,它定义了一个函数,该函数接收一个元素,并根据元素的某个属性进行比较。这使得你可以使用自己的函数来指定最大值的比较方式。

max找出两个或多个数值中的最大值

示例代码如下

# 找出三个数中的最大值  
maximum_value = max(3, 5, 7)  
print(maximum_value)  # 输出: 7

输出如下
在这里插入图片描述

max找出字符串中的最大值(按字典序)

代码示例如下

# 找出三个字符串中的最大值  
max_string = max("apple", "banana", "cherry")  
print(max_string)  # 输出: cherry

输出结果如下
在这里插入图片描述

max找出列表中的最大值

示例代码如下

# 找出列表中的最大值  
numbers = [1, 2, 3, 4, 5]  
max_number = max(numbers)  
print(max_number)  # 输出: 5

输出结果如下
在这里插入图片描述

max使用key参数自定义比较方式

key=len告诉max()函数使用len函数作为比较的依据,因此它会返回列表中长度最长的字符串。
示例代码如下

# 找出列表中长度最长的字符串  
words = ["apple", "banana", "cherry", "date"]  
max_length_word = max(words, key=len)  
print(max_length_word)  # 输出: banana

输出如下
在这里插入图片描述

在字典中使用max()函数

max()函数通过key=dictionary.get来根据字典的值来找出对应的键,因此它会返回字典中值最大的键。

# 找出字典中值最大的键  
dictionary = {'a': 10, 'b': 5, 'c': 20, 'd': 15}  
max_value_key = max(dictionary, key=dictionary.get)  
print(max_value_key)  # 输出: c

输出结果如下
在这里插入图片描述

min()

min() 函数是 Python 的另一个内置函数,用于找出给定参数中的最小值。与 max() 函数类似,min() 函数也可以接受任意数量的参数,并且这些参数可以是数值或者是可迭代的对象,如列表、元组等。
因为min函数和max函数使用方法一样,只不过是反着取,这里就不再过多介绍了

range(start, end, step)

range() 是 Python 中的一个内置函数,用于生成一个整数序列。这个序列从 start 开始(包含),到 end 结束(不包含),并且每次增加 step。

range() 函数的常见格式是 range(start, end, step),其中:

  • start 是序列的起始值,如果不提供,默认为 0。
  • end 是序列的结束值,但不包括该值本身。如果不提供,默认为序列的最后一个值。
  • step 是序列中每个数字之间的差值,也就是步长。如果不提供,默认为 1。
    代码示例如下
for i in range(5):  print(i)

输出如下
在这里插入图片描述

使用 start 和 end

示例代码如下

for i in range(2, 6):  print(i)

输出如下
在这里插入图片描述

使用 step

代码示例如下

for i in range(0, 10, 2):  print(i)

输出结果如下
在这里插入图片描述

负数步长

示例代码如下

for i in range(5, 0, -1):  print(i)

输出结果如下
在这里插入图片描述

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

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

相关文章

数字电路 第五章—第四节(顺序脉冲发生器)

一、计数型顺序脉冲发生器 1、电路组成 计数型顺序脉冲发生器一般都是按自然态序计数的二进制计数器和译码器组成。 2、输出4个脉冲的顺序脉冲发生器 (1)逻辑电路图(采用JK触发器): (2)时序图…

二叉搜索树的范围和(Lc938)——DFS

给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1: 输入:root [10,5,15,3,7,null,18], low 7, high 15 输出:32示例 2: 输入:root [10,5,15,3,7,13,18,1,nul…

家居清洁必备:2024如何挑选高效家用洗地机的实用指南

对于养宠物的家庭来说,宠物的毛发无处不在,尤其在换毛季节,清理工作更加繁琐。此时,洗地机的出现为解决这些问题提供了便利。洗地机可以同时扫地和拖地,实现高效清洁,减轻了清洁负担。而且,洗地…

【爬虫逆向实战 逆向滑块 Python+Node】今天逆向的网站有点嘿嘿,还是仅供学习,别瞎搞

逆向日期:2024.03.01 使用工具:Node.js、Python 加密方法:AES标准算法 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算…

windows系统安装《植物大战僵尸2009原版》教程

本文演示如何在windows免费安装 植物大战僵尸2009原版。 首先到 点此下载安装包 此页面最末端下载百度网盘分享的安装包。 下载完成后安装如下步骤进行安装: 安装完成即可开心的玩耍啦! 我自己的安装过程录屏在这里 https://www.bilibili.com/vid…

新 Logo 正式发布,Tubi 品牌全面升级!

作为新一代观众的首选流媒体平台,Tubi 持续扩大自身影响力,并于近日推出了富有活力的新品牌形象。 根据 Nielsen 的 The Gauge 报告,Tubi 在 2024 年 1 月的电视总观看份额提升至 1.5%,在年轻人和多元化观众群体中的吸引力持续上升…

MYSQL--JDBC优化

一.JDBC优化: 优化前提: 有时候我们并不清楚某些表当中一共有多少列,以及这些列的数据类型,这个时候我们就需要提前通过一些方法提前了解到这些数据,从而更好的进行输出 具体语句: package cn.jdbc;import java.sql.*;public class JDBCDEmo1 {public static void main(String…

11.盛最多水的容器

题目:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 解题思路:可以…

2023 re:Invent AI 生成产品体验,从 Bedrock 到 Amazon Q

引 如果你也有如下问题,那么接下来的文字会一一为你解答 一套数据集,如何微调不同类型的开源大模型?—— Bedrock 如何只有产品说明书,如何构建一个智能问答机器人?—— Q 哪里还有免费的 GPU 算力——在线 Jupyter…

JQMobile Loader Widget 遮罩层改造

最近在用jqmobile 做一个混合APP项目时候用到 jqmobile1.4.3提供的Loader Widget控件,但是这个控件本身是一个loading弹出层,这个弹出层弹出之后,用户还是可以去点击按钮,重复发送请求,为了防止重复提交,我想了两种办法, 1,在loading弹出层弹出之后,让按钮不可用.但是form表单…

DC28V270V转AC36V115V航空逆变器

在当今的航空航天电源行业中,DC28V270V转AC36V115V航空逆变器发挥着至关重要的作用。作为一种关键的逆变器电源设备,DC28V270V转AC36V115V航空逆变器不仅在航空领域有着广泛的应用,还在许多其他领域发挥着重要作用。 一、DC28V270V转AC36V11…

源码的角度分析Vue2数据双向绑定原理

什么是双向绑定 我们先从单向绑定切入,其实单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。那么双向绑定就可以从此联想到,即在单向绑定的基础上,用户更新…

GoFrame:如何简单地搭建一个简单地微服务

一切资料来源于GoFrame官网, 感兴趣的, 可以直接去官网查阅相关资料。 首先下载框架工具, 下载地址:https://github.com/gogf/gf/releases 然后进入你想要放置的项目文件夹, 执行命令行 gf init {project_name} #project_name为你的项目名 执行完后项目结构如图所示 然…

Java ElasticSearch-Linux面试题

Java ElasticSearch-Linux面试题 前言1、守护线程的作用?2、链路追踪Skywalking用过吗?3、你对G1收集器了解吗?4、你们项目用的什么垃圾收集器?5、内存溢出和内存泄露的区别?6、什么是Spring Cloud Bus?7、…

Java构造方法总结(很清晰)

构造方法扫盲:构造方法就是为了创建对象的 解释:真正创建对象的是 new 这个关键字,Java 虚拟机在创建对象时是有很多步骤的,构造方法只是其中的一步,它的作用是进行成员变量初始化。

AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境等应用

原文链接:AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境等应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的强大功能与应用场景 3)国内外经典大模型(ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Di…

强大而灵活的python装饰器

装饰器(Decorators) 一、概述 在Python中,装饰器是一种特殊类型的函数,它允许我们修改或增强其他函数的功能,而无需修改其源代码。装饰器在函数定义之后立即调用,并以函数对象作为参数。装饰器返回一个新…

微信小程序云开发教程——墨刀原型工具入门(安装以及基础使用教程)

引言 作为一个小白,小北要怎么在短时间内快速学会微信小程序原型设计? “时间紧,任务重”,这意味着学习时必须把握微信小程序原型设计中的重点、难点,而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

储能:储能大会“共建储能生态链,共创储能新发展”

数字储能网讯:由中国化学与物理电源行业协会主办,中国化学与物理电源行业协会储能应用分会和中国储能网联合承办的第十四届中国国际储能大会暨展览会将于2024年3月10-12日在杭州国际博览中心召开,大会主题为“共建储能生态链,共创…

模板初阶的补充和string一些函数的用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 模板初阶的补充 一、C语言中的字符串 二、标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明(注意下面我只讲解最常用的接口&…