热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

公共操作与表达式推导

本文探讨了公共操作在数学表达式推导中的应用,分析了其在简化复杂公式和提高计算效率方面的关键作用。通过具体实例,展示了如何利用公共操作优化表达式的结构,为相关领域的研究提供了新的视角和方法。

                                                                                                                                                      公共操作

⼀. 运算符






























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

 

 

 

 

 

 

1.1 +

 

# 1. 字符串
str1
= 'aa'
str2
= 'bb'
str3
= str1 + str2
print(str3) # aabb
#
2. 列表
list1
= [1, 2]
list2
= [10, 20]
list3
= list1 + list2
print(list3) # [
1, 2, 10, 20]
#
3. 元组
t1
= (1, 2)
t2
= (10, 20)
t3
= t1 + t2
print(t3) # (
10, 20, 100, 200)

 

具体示例如下:

 

 

1.2 *

 

# 1. 字符串
print(
'-' * 10) # ----------
#
2. 列表
list1
= ['hello']
print(list1
* 4) # ['hello', 'hello', 'hello', 'hello']
#
3. 元组
t1
= ('wushen',)
print(t1
* 4) # ('wushen', 'wushen', 'wushen', 'wushen')

 

具体示例如下:

 

 

1.3 in或not in

 

# 1. 字符串
print(
'a' in 'abcd') # True
print(
'a' not in 'abcd') # False
#
2. 列表
list1
= ['a', 'b', 'c', 'd']
print(
'a' in list1) # True
print(
'a' not in list1) # False
#
3. 元组
t1
= ('a', 'b', 'c', 'd')
print(
'aa' in t1) # False
print(
'aa' not in t1) # True

 

具体示例如下:

 

 

 

⼆. 公共⽅法

































函数描述
len()计算容器中元素个数
del 或 del()删除
max()返回容器中元素最⼤值
min()返回容器中元素最⼩值
range(start, end, step)⽣成从start到end的数字,步⻓为 step,供for循环使⽤
enumerate()函数⽤于将⼀个可遍历的数据对象(如列表、元组或字符串)组合为⼀个索引序 列,同时列出数据和数据下标,⼀般⽤在 for 循环当中。

 

 

 

 

 

 

 

 

 

2.1 len()

 

# 1. 字符串
str1
= 'abcdefg'
print(len(str1)) #
7
#
2. 列表
list1
= [10, 20, 30, 40]
print(len(list1)) #
4
#
3. 元组
t1
= (10, 20, 30, 40, 50)
print(len(t1)) #
5
#
4. 集合
s1
= {10, 20, 30}
print(len(s1)) #
3
#
5. 字典
dict1
= {'name': 'wushen', 'age': 19}
print(len(dict1)) #
2

 

具体示例如下:

 

 

2.2 del()

list1 = [10, 20, 30, 40]
del(list1[
0])
print(list1) # [
20, 30, 40]

 

具体示例如下:

 

 

2.3 max()

# 1. 字符串
str1
= 'abcdefg'
print(max(str1)) # g
#
2. 列表
list1
= [10, 20, 30, 40]
print(max(list1)) #
40

具体示例如下:

 

 

2.4 min()

 

# 1. 字符串
str1
= 'abcdefg'
print(min(str1)) # a
#
2. 列表
list1
= [10, 20, 30, 40]
print(min(list1)) #
10

 

具体示例如下:

 

 

2.5 range()

 

# 1 2 3 4 5 6 7 8 9
for i in range(1, 10, 1):
print(i)
#
1 3 5 7 9
for i in range(1, 10, 2):
print(i)
#
0 1 2 3 4 5 6 7 8 9
for i in range(10):
print(i)

 

具体示例如下:

 

注意:range()⽣成的序列不包含end数字。

 

2.6 enumerate()

•语法

 

enumerate(可遍历对象, start=0)

 

注意:start参数⽤来设置遍历数据的下标的起始值,默认为0。

 

 

 

 

• 快速体验

list1 = ['a', 'b', 'c', 'd', 'e']
for i in enumerate(list1):
print(i)
for index, char in enumerate(list1, start=1):
print(f
'下标是{index}, 对应的字符是{char}')

具体示例如下:

 

 

 

三. 容器类型转换

3.1 tuple()

作⽤:将某个序列转换成元组

list1 = [10, 20, 30, 40, 50, 20]
s1
= {100, 200, 300, 400, 500}
print(tuple(list1))
print(tuple(s1))

 

具体示例如下:

 

 

 

3.2 list()

作⽤:将某个序列转换成列表

 

t1 = ('a', 'b', 'c', 'd', 'e')
s1
= {100, 200, 300, 400, 500}
print(list(t1))
print(list(s1))

 

具体示例如下:

 

 

3.3 set()

作⽤:将某个序列转换成集合

 

list1 = [10, 20, 30, 40, 50, 20]
t1
= ('a', 'b', 'c', 'd', 'e')
print(
set(list1))
print(
set(t1))

 

具体示例如下:

 

 注意:

1. 集合可以快速完成列表去重

2. 集合不⽀持下标

 

                                                                                                                                                                           推导式

⼀. 列表推导式

 作⽤:⽤⼀个表达式创建⼀个有规律的列表或控制⼀个有规律列表。

 列表推导式⼜叫列表⽣成式。

1.1 快速体验

需求:创建⼀个0-10的列表。

•while循环实现

# 1. 准备⼀个空列表
list1
= []
#
2. 书写循环,依次追加数字到空列表list1中
i
= 0
while i <10:
list1.append(i)
i
+= 1
print(list1)

 具体示例如下:

 

•for循环实现

 

list1 = []
for i in range(10):
list1.append(i)
print(list1)

 

具体示例如下:

 

 

•列表推导式实现

list1 = [i for i in range(10)]
print(list1)

具体示例如下:

 

 

1.2 带if的列表推导式

需求:创建0-10的偶数列表

•⽅法⼀:range()步⻓实现

 

list1 = [i for i in range(0, 10, 2)]
print(list1)

 

具体示例如下:

 

 

•⽅法⼆:if实现

list1 = [i for i in range(10) if i % 2 == 0]
print(list1)

具体示例如下:

 

 1.3 多个for循环实现列表推导式

需求:创建列表如下:

 

[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

 

代码如下:

list1 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list1)

具体示例如下:

 

 

⼆. 字典推导式

思考:如果有如下两个列表:

 

list1 = ['name', 'age', 'gender']
list2
= ['wushen, 19, 'man']

 

如何快速合并为⼀个字典?

字典推导式

字典推导式作⽤:快速合并列表为字典或提取字典中⽬标数据。

 

2.1 快速体验

1. 创建⼀个字典:字典key是1-5数字,value是这个数字的2次⽅。

 

dict1 = {i: i**2 for i in range(1, 5)}
print(dict1) # {
1: 1, 2: 4, 3: 9, 4: 16}

 

具体示例如下:

 

 

2. 将两个列表合并为⼀个字典

list1 = ['name', 'age', 'gender']
list2
= ['wushen', 19, 'man']
dict1
= {list1[i]: list2[i] for i in range(len(list1))}
print(dict1)

具体示例如下:

 

 

3. 提取字典中⽬标数据

counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
# 需求:提取上述电脑数量⼤于等于200的字典数据
count1
= {key: value for key, value in counts.items() if value >= 200}
print(count1) # {
'MBP': 268, 'DELL': 201}

具体示例如下:

 

 

三. 集合推导式

需求:创建⼀个集合,数据为下⽅列表的2次⽅。

 

list1 = [1, 1, 2]

 

代码如下:

list1 = [1, 1, 2]
set1
= {i ** 2 for i in list1}
print(set1) # {
1, 4}

具体示例如下:

 

 

 

注意:集合有数据去重功能。

 



推荐阅读
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 社交网络中的级联行为 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文详细介绍了如何在PHP中删除数组中的指定元素、第一个元素和最后一个元素,并提供了具体的代码示例和相关函数的使用说明。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文介绍 SQL Server 的基本概念和操作,涵盖系统数据库、常用数据类型、表的创建及增删改查等基础操作。通过实例帮助读者快速上手 SQL Server 数据库管理。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了如何在 Android 中使用值动画(ValueAnimator)来动态调整 ImageView 的高度,并探讨了相关的关键属性和方法,包括图片填充后的高度、原始图片高度、动画变化因子以及布局重置等。 ... [详细]
author-avatar
I汽车I生活
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有