700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python列表推导式[x for x in range(n)]

python列表推导式[x for x in range(n)]

时间:2019-07-13 10:46:08

相关推荐

python列表推导式[x for x in range(n)]

1.匿名函数

匿名函数语法形式:

lambda [arg1,arg2,arg3,argn]:expression

注解:

lambda 关键字

argi 函数参数

expression 程序逻辑,即函数要返回值的表达式

该表达式不能包含其他语句,可以返回带括号的(元组),同时允许在表达式中调用其它函数。

>>> c = lambda x,y:x * x + y * y # 不能有for, if, while的循环或者判断语句>>> c(4,5)Out[93]: 41

2.并行迭代

并行迭代:简单来说就是程序可以同时迭代多个序列

ex:

>>>name = ('tang', 'liu', 'mei', 'yejieyi')>>>old = ('12', '24', '23', '25')>>>for i in range(len(name)):print(name[i],'is ',old[i],'years old')tang is 12 years oldliu is 24 years oldmei is 23 years oldyejieyi is 25 years old

>>>for each in zip(name,old): # 从字面理解,就是把二个对象压缩成一个到一个对象print(each)('tang', '12')('liu', '24')('mei', '23')('yejieyi', '25')>>>for a,b in zip(name, old):print(a,'is',b,'years old')tang is 12 years oldliu is 24 years oldmei is 23 years oldyejieyi is 25 years old

3.Python的列表推导式

问题:列表推导式是什么?它的优点是什么?

且看栗子:计算出1~9间的整数的平方’

常规方法1

# normal mehod 1>>>def sqrt(x):for i in range(1,x+1):print(i*i)sqrt(7)14916253649

# 列表推导式[x*x for x in range(1,8)] # 这里不仅可以用for,也可以用if,while等循环或者判断语句Out[115]: [1, 4, 9, 16, 25, 36, 49]

>>>[ x for x in range(1,8) if x%2 == 0 ] # 'for' and 'if' sentence used together[2 4 6]In [128]: a ={x:y for x,y in zip(range(1,7),'abderfg')} #与zip的连用,注意x与y之间的逗号,和字典x与y之间的冒号, aOut[129]: {1: 'a', 2: 'b', 3: 'd', 4: 'e', 5: 'r', 6: 'f'}

补充说明for in if语法

python的for...in...if...语句

Python中,for...[if]...语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的。下面举几个简单的例子进行说明。

>>> a=[12, 3, 4, 6, 7, 13, 21]>>> newList = [x for x in a]>>> newList[12, 3, 4, 6, 7, 13, 21]>>> newList2 = [x for x in a if x%2==0]>>> newList2[12, 4, 6]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。