当前位置:   article > 正文

python列表推导式[x for x in range(n)]_x for x in range()什么意思

x for x in range()什么意思

1.匿名函数
匿名函数语法形式:
lambda [arg1,arg2,arg3,argn]:expression
注解:
lambda 关键字
argi 函数参数
expression 程序逻辑,即函数要返回值的表达式
该表达式不能包含其他语句,可以返回带括号的(元组),同时允许在表达式中调用其它函数。
 

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

2.并行迭代

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

  1. >>>name = ('tang', 'liu', 'mei', 'yejieyi')
  2. >>>old = ('12', '24', '23', '25')
  3. >>>for i in range(len(name)):
  4. print(name[i],'is ',old[i],'years old')
  5. tang is 12 years old
  6. liu is 24 years old
  7. mei is 23 years old
  8. yejieyi is 25 years old
  1. >>>for each in zip(name,old): # 从字面理解,就是把二个对象压缩成一个到一个对象
  2. print(each)
  3. ('tang', '12')
  4. ('liu', '24')
  5. ('mei', '23')
  6. ('yejieyi', '25')
  7. >>>for a,b in zip(name, old):
  8. print(a,'is',b,'years old')
  9. tang is 12 years old
  10. liu is 24 years old
  11. mei is 23 years old
  12. yejieyi is 25 years old

 

3.Python的列表推导式

问题:列表推导式是什么?它的优点是什么?
且看栗子:计算出1~9间的整数的平方’

常规方法1

  1. # normal mehod 1
  2. >>>def sqrt(x):
  3. for i in range(1,x+1):
  4. print(i*i)
  5. sqrt(7)
  6. 1
  7. 4
  8. 9
  9. 16
  10. 25
  11. 36
  12. 49
  1. # 列表推导式
  2. [x*x for x in range(1,8)] # 这里不仅可以用for,也可以用if,while等循环或者判断语句
  3. Out[115]: [1, 4, 9, 16, 25, 36, 49]

 

  1. >>>[ x for x in range(1,8) if x%2 == 0 ] # 'for' and 'if' sentence used together
  2. [2 4 6]
  3. In [128]: a ={x:y for x,y in zip(range(1,7),'abderfg')} #与zip的连用,注意x与y之间的逗号,和字典x与y之间的冒号,
  4. a
  5. Out[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是可以省略的。下面举几个简单的例子进行说明。

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/944179
推荐阅读
相关标签
  

闽ICP备14008679号