首页 > 其他分享 >列表推导式

列表推导式

时间:2023-11-11 22:22:41浏览次数:97  
标签:推导 res else names exp 列表 out

1、最简单的

[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]
>>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
>>> new_names = [name.upper()for name in names if len(name)>3]
>>> print(new_names)
['ALICE', 'JERRY', 'WENDY', 'SMITH']
或者 

[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
  • out_exp_res:列表生成元素表达式,可以是有返回值的函数。
  • for out_exp in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中。
  • if condition:条件语句,可以过滤列表中不符合条件的值。
>>> multiples = [i for i in range(30) if i % 3 == 0]
>>> print(multiples)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

2、带if和else

[exp1 if condition else exp2 for x in data]

此处if...else主要起赋值作用,当data中的数据满足if条件时将其做exp1处理,否则按照exp2处理,最后统一生成为一个 数据列表

a=['零' if i==0 else '三' if i==3 else '五' if i==5 else i for i in range(20) ]
print(a)

将0,3,5换成中文的零,三,五,输出如下所示:

 

标签:推导,res,else,names,exp,列表,out
From: https://www.cnblogs.com/gezirui/p/17826467.html

相关文章

  • call与apply的第一个参数都为this的指向,call后面的参数为传入的参数列表,apply为参数
    【摘自JavaScript高级程序设计】函数还有两个方法:apply()和call()。这两个方法都会以指定的this值来调用函数,即会设置调用函数时函数体内this对象的值。apply()方法接收两个参数:函数内this的值和一个参数数组。第二个参数可以是Array的实例,但也可以是arguments对象。来看下面的例......
  • 通过hook技术拦截某个APP的用户列表可能实现吗,举个例子
    ​ 拦截某个应用程序的用户列表通常涉及到对应用程序的通信进行监控或修改。使用钩子(hook)技术是一种常见的方法,但需要注意的是,这种行为可能违反应用程序的使用条款,可能会引起法律问题。在进行此类活动之前,请确保你有权进行这样的操作,并且你的目的是合法的。以下是一个可能的例......
  • 下列表达式中,结果为NaN的是(D)
    A123+nullB123/0C123+'1';D123+undefined;对于“+”运算,如果一端为字符串,则另一端会被转为字符串进行字符串之间的连接,因此C选项结果为1231,如果一端为Number类型,另一端为原始数据类型,则另一端会被转为Number类型,再相加,null会被转为0,A选项结果为123,undefined会被......
  • pandas 筛选 可以用 列表解析式
    list_dir=os.listdir(addr)df_dir=pd.DataFrame(os.path.splitext(i)foriinlist_dir)display(df_dir)today=datetime.date.today().strftime('%m月%d日')#筛选第1列包含today的行display(pd.DataFrame(iforiindf_dir.valuesiftodayini[0]))display......
  • h5购物车列表实现商品左滑删除
    <htmllang="en"><head><metacharSet="UTF-8"><title>Title</title><style>.cart-list{padding:4px;}.cart-item{position:relative;......
  • Python中的列表和元组:添加、修改和删除元素的技巧
    在Python中,列表(List)和元组(Tuple)都是用于存储数据的集合类型。虽然它们在某些方面相似,例如都可以存储各种类型的数据,但它们也有一些重要的区别,比如可变性。列表是可变的,意味着我们可以更改、添加或删除列表中的元素,而元组是不可变的,一旦它被创建,就不能更改。在这篇文章中,我们将详细......
  • 课程详情接口、所有章节接口、课程列表前端、课程详情前端、视频托管、Header.vue搜索
    课程详情接口#思路一:直接在之前写好的查询所有课程的视图类上,配置一个类即可classCourseView(GenericViewSet,CommonListModelMixin,CommonRetrieveModelMixin)返回的字段,跟详情,不太对应(详情中要求拿出所有章节和课时,但实际上只返回了4个课时)序列化类---》重......
  • 6、Flutter 列表组件
    列表有以下分类:1、垂直列表classMyAppextendsStatelessWidget{constMyApp({super.key});@overrideWidgetbuild(BuildContextcontext){returnCenter(child:ListView(children:const[Icon(Icons.search,color:Colors.red,size:50),......
  • C#C++,opencv的dll中detach相关:关于调用dll后程序退出后进程仍然驻留系统列表的问题
    我在c#中调用C++的dll,内部使用了线程并detach使其独立于主线程UI运行。但后来发现程序关闭后,任务列表中的进场依然存在,即app并未实际正常退出。这个问题有很多人碰到和争论,但都没有给出明确的答案。这里提供一个理论解释和绝佳的调试排除方法:根本原因:程序退出之前,系统(或程序员......
  • 数组和列表
    在编码领域,数组和列表就像保存多个数据的容器。这些可以是数字、文字或您想要保持井然有序的任何其他信息。数组:数组就像排列整齐的架子。每个项目都分配有一个唯一的位置,由索引(数字)标识。列表:列表更像是一排等待轮到的人。每个项目都按从第一个到最后一个的顺序排列。......