热门标签 | 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}

具体示例如下:

 

 

 

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

 



推荐阅读
  • Envoy 流量分配策略优化
    在本研究中,我们对Envoy的流量分配策略进行了优化,旨在提高系统的稳定性和性能。实验环境包括一个前端代理服务(Envoy,IP地址为172.31.57.10)和五个后端服务。通过调整Envoy的配置,实现了更高效的流量分发和负载均衡,显著提升了整体系统的响应速度和可靠性。 ... [详细]
  • 软件开发史上最具影响力的十位编程大师(附图解)
    在软件开发领域,有十位编程大师对行业发展产生了深远影响。本文基于国外知名社区的一项评选,通过图文并茂的形式,详细介绍了这十位杰出人物,包括游戏开发先驱John Carmack等,为读者呈现了他们卓越的技术贡献与创新精神。 ... [详细]
  • Tornado硬件管理平台中的设备信息采集技术深入解析(三)
    深入解析 Tornado 硬件管理平台中的设备信息采集技术,本文聚焦于 `monitor.py` 脚本的关键字段分析。该脚本通过导入 `psutil`、`time` 和 `datetime` 模块,以及使用 `pprint` 进行数据格式化输出,实现对系统资源和设备状态的高效监控与数据采集。 ... [详细]
  • 题目1:给定一个非空数组A,包含有N个整数,起始下标为0。数组包含有奇数个元素,其中除了唯一一个元素之外,其他 ... [详细]
  • 本文将深入探讨Python的Tulip网络库(即3.4版本后更名为asyncio)的实现机制。通过详细解析Tulip的工作原理,旨在帮助读者理解其如何高效处理I/O阻塞问题,并展示其实现非阻塞流程的具体方法。 ... [详细]
  • 在处理MySQL递归查询父子节点时,若遇到“此函数未声明为DETERMINISTIC、NOSQL或READS SQL DATA”的错误,可以通过以下方法解决:首先,确保表结构正确设计,包含必要的字段用于存储节点关系。接着,创建两个函数,一个用于根据输入ID查询所有子节点及其ID,另一个用于根据输入ID查询所有父节点及其ID。在创建函数时,需明确声明函数的特性,如是否确定性、是否访问SQL数据等,以避免上述错误。调用这些函数时,确保传递正确的参数,并检查返回结果的完整性。 ... [详细]
  • Python初学者入门指南:从基础到实践的全面学习路径本文为Python初学者提供了一条从基础到实践的全面学习路径。特别介绍了Python字典(Dictionary)中的`items()`方法,该方法用于返回字典中所有键值对的视图对象,便于在循环和其他操作中使用。通过实例讲解,帮助读者更好地理解和应用这一重要功能。 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • 在 Linux 环境下,深入探讨 GTK+3.0 的高级开发技巧,涵盖组件定制、事件处理及多线程应用等核心内容,帮助开发者提升应用界面的交互性和性能。 ... [详细]
  • 本文旨在构建一个JavaScript函数,用于对用户输入的电子邮件地址和密码进行有效性验证。该函数将确保输入符合标准格式,并检查密码强度,以提升用户账户的安全性。通过集成正则表达式和条件判断语句,该方法能够有效防止常见的输入错误,同时提供即时反馈,改善用户体验。 ... [详细]
  • 网站前端开发的核心理念与必备技能解析 ... [详细]
  • 一.问题汇总:折线图问题与解决折线图中的多条折线,怎么设置?怎么设置echarts的背景颜色?怎么设置X轴,Y ... [详细]
  • 1.如何进行迁移 使用Pytorch写的模型: 对模型和相应的数据使用.cuda()处理。通过这种方式,我们就可以将内存中的数据复制到GPU的显存中去。 ... [详细]
  • 文章重点讲到了关于foreach循环和list循环语句的用法,好了下面我们就来看实现吧,费话也不说多了有需要的同学可以参考一下。最近买了本http:ww ... [详细]
  • Python2020期末考试试题及答案一、选择题1、下列是python合法标识符的是(B)。A.2variableB.variable2C.$anotherv ... [详细]
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社区 版权所有