列表生成式 三元表达式

1.函数有多个返回值得情况

 import xpinyin

 p = xpinyin.Pinyin()  #实例化

 res = p.get_pinyin('陈伟良','')

 print(res)

def say():

      num1 = 1

      num2 = 2

      num3 = 3

      return num1,num2,num3

res1,res2,res3 = say()    #返回时也可以用多个变量接受

函数返回多个值:

    1、函数如果返回多个值的话,它会把这几个值放到一个元组里面

    2、函数如果返回多个值的话,也可以用多个变量来接收

2.匿名函数,这个函数功能很简单,只用一次

 Lambda

如 res = lambda x:x+1     #只能处理一些简单的逻辑

lambda

    匿名函数

    lambda x: x+1  #冒号后面的是函数体,也是函数的处理逻辑,冒号前面的返回值

3.作业中红球的选取,列表生成式

import random

red_num = random.sample(range(1,34),6)

new_num = [ str(num).zfill(2) for num in red_num ] #列表生成式  zill()是一个字符串方法

#

for num in red_num:

      tmp=str(num).zfill(2)

      new_num.append(tmp)

#

其他列表生成式 l = [ i  for i in range(1,101,2) ]  #生成100以内的奇数,以空间换时间

#l2 = ( i  for i in range(1,101,2) )  #生成100以内的奇数 #

 #外面是小括号的话,它就不是一个list了,它是一个生成器

 #生成器比list要节省内存,它是每次循环的时候,会根据规则计算一个元素,放到内存里面

 #list它是把所有的元素都放在内存里面的

4.三元表达式

a = 5
b = 4
# c = a if a > b else b # 如果a大于b的话,c=a,否则c = b ,如果不用三元运算符的话,就得下面这么写
if a > b:
c = a
else:
c = b

c = a if a > b else b #三元表达式 与上面一样 循环判断并赋值
5.生成器比较省空间
( i  for i in range(1,101,2) ) 比
【i  for i in range(1,101,2) 】

猜你喜欢

转载自www.cnblogs.com/cslw5566/p/8922254.html