问题:请计算出1~9间的整数的平方
常规方法
for i in range(1,10):print(i*i)链表推导式:
print([x*x for x in range(1,10)])匿名函数方法:
匿名函数语法形式: lambda [arg1, arg2, arg3, ... , argn] : expression 注解:
[]代表可选字段 lambda 关键字 argi 函数参数 expression 程序逻辑,即函数要返回值的表达式 该表达式不能包含其他语句,可以返回带括号的(元组),同时允许在表达式中调用其它函数。
# 不能有for, if, while的循环或者判断语句
# 请计算出1~9间的整数的平方cal = lambda x:x*xfor i in range(1,10):print(cal(i)) >>>ccal = lambda:123>>>ccal()123 并行迭代法: >>>for each in zip(name,old): # 从字面理解,就是把二个对象压缩成一个到一个对象print(each)('tang', '12')('liu', '24')('mei', '23')('ye', '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 oldye is 25 years old>>>for i in zip(name,old):print(type(i))<class 'tuple'><class 'tuple'><class 'tuple'><class 'tuple'>>>>[ x for x in range(1,8) if x%2 == 0 ] # 'for' and 'if' 是可以一起使用的[2 4 6]>>>a ={x:y for x,y in zip(range(1,7),'abderfg')} #与zip的连用,注意for中x与y之间的逗号,和字典x与y之间的冒号, {1: 'a', 2: 'b', 3: 'd', 4: 'e', 5: 'r', 6: 'f'}
参考自:https://blog.csdn.net/liukai2918/article/details/80428441