python基础—列表解析式简单应用

   日期:2020-10-05     浏览:88    评论:0    
核心提示:提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、python列表解析式是什么?二、使用步骤1.引入库2.读入数据总结前言python基础之列表解析式简单应用提示:以下是本篇文章正文内容,下面案例可供参考一、python列表解析式是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport

文章目录

  • 前言
  • 一、python列表解析式是什么?
  • 二、解析表达式应用
    • 1.引入
    • 2.其他例子
  • 总结

前言

python基础之列表解析式简单应用

一、python列表解析式是什么?

列表解析 List Comprehensions
表达式:[expression for iter_val in iterable if cond_expr]
[expression]:最后执行的结果
[for iter_val in iterable]:这个可以是一个多层循环
[if cond_expr]:两个for间是不能有判断语句的,判断语句只能在最后;顺序不定,默认是左到右。

列表解析式是将一个列表(实际上适用于任何可迭代对象(iterable))转换成另一个列表的方法。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。

二、解析表达式应用

1.引入

(示例):
生成一个从1~n的平方的列表,如,输入 5
生成 l=[1,4,9,16,25]
普遍for循环做法:

l = []
n = eval(input("请输入n:"))
for i in range(1,n+1):
    l.append(i**2)
print(l)

输出5,则输出结果如下

而此时我们引用列表解析式


n = eval(input("请输入n:"))
l = [i**2 for i in range(1,n+1)]
print(l)

或者我们直接直接合并上述三行代码,同样能生成有序平方列表


print([i**2 for i in range(1,eval(input("请输入n:"))+1)])

2.其他例子

1. 编写程序,输入一个字符串s,
输出其每个字符的ASCII码构成的列表L,
即L中的每个元素是s中每个字符的ASCII码。


    print( [ord(i) for i in  input("请输入一个字符串: ")])
    


2.编程计算前n个自然数的立方和,其中n的值由用户提供


 print( sum([i**3 for i in range(1,int( input("请输入n的值:"))+1)]) )
 


如果我们学过C语言,就不难发现,python代码风格十分简洁明了,正是因为有了大量的库函数和解释性的语法,使得代码变得简单易懂。可能同样的一道编程题目,python代码量不及c语言的三分之一…由此可见python的魅力之一

同时,我们也能在列表解析式中使用if条件,比如计算前n个能被3整除的自然数


print([i for i in range(1,eval(input("请输入n:"))+1) if i%3==0])

总结

今天总结的python列表解析表达式就这样了,可能受限于个人能力及时间,写的略显仓促,很多原理上的东西还需要在深入研究,本人也只是应用层面,未曾向许多大牛一样有源码级的理解…
江湖路漫漫,学习编程也正是一个不断积累的过程,此博客纪念初学python的自己。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服