首页 > 编程语言 >Python 列表使用

Python 列表使用

时间:2023-05-27 16:23:33浏览次数:36  
标签:返回 推导 Python time 列表 表达式 使用 condition

一、列表推导式
(1)条件推导式
value1: 如果条件表达式condition成立,返回value1 ; 如果条件表达式不成立,返回value2 ;
condition:条件表达式
Value2: 如果条件表达式condition成立,返回value1 ; 如果条件表达式不成立,返回value2 ;

value1 if condition else Value2

如,判断一个数是偶数还是奇数。

x = 10
if x%2 == 0:
  print("x是偶数")
else:
  print("x是奇数")

使用推导式:

print("x是偶数") if x%2 == 0 else print("x是奇数")

(2)列表推导式
列表推导式是条件推导式和循环一起配合使用,并返回一个列表。
语法一:
exp1:在for循环中,如果x的值满足条件表达式condition(即条件表达式成立),返回exp1;条件表达式不成立则不返回
x:for循环中变量
data:一个序列(比如:列表/元组/字符串等)
condition:条件表达式
[exp1 for x in data if condition]

例子:获取0~20的所有偶数并且乘以10,并返回所有计算之后的结果

[x*10 for x in range(0,21) if x%2==0]
输出:[0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200]

语法二:
exp1:在for循环中,如果x的值满足条件表达式condition(即条件表达式成立),返回exp1;条件表达式不成立则返回exp2
condition:条件表达式
exp2:在for循环中,如果x的值满足条件表达式condition(即条件表达式成立),返回exp1;条件表达式不成立则返回exp2
x:for循环中变量
data:个序列(比如:列表/元组/字符串等)
[exp1 if condition else exp2 for x in data]

例子:将0~20的偶数乘以10,奇数乘以100,并返回所有计算之后的结果。

[x*10 if x%2==0 else x*100 for x in range(0,21)]
输出:[0, 100, 20, 300, 40, 500, 60, 700, 80, 900, 100, 1100, 120, 1300, 140, 1500, 160, 1700, 180, 1900, 200]

(3)效率对比
使用列表推导式的效率远远高于for循环
例子:添加10000000次数据到列表中
使用列表推导式:

import time
start_time=time.time()
list1 = [x for x in range(0, 10000000)]
end_time=time.time()
print(f"使用列表推导式耗时:{end_time-start_time}秒")
输出:使用列表推导式耗时:0.458773136138916秒

使用普通for循环:

import time
list2=[]
start_time=time.time()
for x in range(0, 10000000):
  list2.append(x)
end_time=time.time()
print(f"使用列表推导式耗时:{end_time-start_time}秒")
输出:使用普通for循环耗时:7.412888288497925秒

标签:返回,推导,Python,time,列表,表达式,使用,condition
From: https://www.cnblogs.com/levisl/p/17436899.html

相关文章

  • 软引用使用
    概述软引用:内存不足时,如果GCRoot只有软引用,执行gc时会被回收例子/***@Authorliufq*@Date2023/5/27*@Desc软引用使用,内存不足时,如果GCRoot只有软引用,执行gc时会被回收**虚拟机参数:-Xmx20m-XX:+PrintGCDetails-verbose:gc*/publicclassSoftReferenceTe......
  • 配置 Orchestra Python API
    简介:OrchestraPythonAPI是开发者构建本地工具链的定海神针,你可以轻而易举的把它集成到制作流程中,拓展自身业务的边界。OrchestraPythonAPI与网页端接口高度同构,不仅易于理解和使用,还兼容python2.7至3.11的版本。OrchestraPythonAPI工具并不附带Python运行环境......
  • 如何使用CheckBox以获取用户的选择
    如何使用CheckBox以获取用户的选择CheckBox是一个复选框,它有两种状态:选中和非选中。CheckBox可以比较直观的表现用户的选择情况。效果展示示例代码importjava.util.Map;importjava.util.TreeMap;importjavafx.application.Application;importjavafx.geometry.Inse......
  • amzon s3/minio获取预签名上传url,及js使用预签名url上传文件
      $("#btnSubmit").click(function(event){varfile=$("#ipfile")[0].files[0];varcontentType=!!file.type?file.type:"video/x-flv";//请求api接口:调用amzons3/minio的sdk获取临时上传......
  • 如何通过Python将JSON格式文件导入redis?
    摘要:如果希望将JSON文件导入到Redis中,首先要做的就是连接到redis服务。本文分享自华为云社区《Python将JSON格式文件导入redis,多种方法》,作者:梦想橡皮擦。在导入前需要先确定你已经安装Redis,并且可以启动相关服务。windows上启动redis的命令是redis-server.exer......
  • m基于FPGA的PID控制器实现,包含testbench测试程序,PID整定通过matlab使用RBF网络计算
    1.算法仿真效果vivado2019.2、matlab2022a仿真结果如下:    2.算法涉及理论知识概要        PID控制器产生于1915年,PID控制律的概念最早是由LYAPIMOV提出的,到目前为止,PID控制器以及改进的PID控制器在工业控制领域里最为常见。PID控制器(比例-积分-微分控制器......
  • 简单商品后台管理系统-应用MVC和AJAX,使用Bootstrap
    一个商品后台管理系统-应用了MVC三层设计模式以及AJAX技术,使用Bootstrap模板;是我用于练习Ajax的增删改查写的一个小系统,很简易,但是有助于理解mvc设计模式,并且简单条理清晰使得它是一个好的练习项目;效果展示: 代码部分:index.html<html><head><title>管理系统</titl......
  • python循环怎么执行不了
    在Python编程中,循环是一种重要的语句类型,可以让我们对一组数据进行重复的操作。如果您的循环无法正常执行,可能会有多种原因。下面是一些可能导致循环无法正常执行的原因和解决方法:循环条件不满足:循环语句的执行需要满足一定的条件,如果条件不满足,循环就不会执行。请检查您的循......
  • Python相关性分析代码
    进行相关性分析的代码主要涉及数据处理和统计分析。以下是使用Python进行相关性分析的一般步骤:1.导入必要的库:importpandasaspdimportnumpyasnpimportseabornassnsimportmatplotlib.pyplotasplt2.读取数据:将你的数据加载到PandasDataFrame中。data=pd.read_c......
  • 使用SpringMVC 拦截器导致出现@CrossOrigin失效问题解决办法
    非简单请求会发起一个OPTIONS方法的预检请求,这个请求会被拦截器拦截,但是服务器没有给浏览器返回必要的跨域指示信息(比如:“Access-Control-Allow-Origin”----允许哪些请求访问),浏览器没收到指示信息,就认为服务器不允许跨域请求,就会报错。所以需要在拦截器拦截OPTIONS方法的预......