【循序渐进学Python】Python中的函数(五)——列表推导式与函数的返回值

【循序渐进学Python】Python中的函数(五)——列表推导式与函数的返回值

列表推导式

作用:

  • 轻量级循环创建列表(快速的创建一个有规律的列表)

案例:

需求:

  • 1-100之间的所有数字三三分开 分别装到一个元组
  • 然后再将所有元组放到一个列表

思路:

  1. 先利用列表推导式来列出1-100之间的所有的数
  2. 然后遍历列表中的数,步长为3
  3. for循环出的数可以作为切片的索引
  4. 然后把切片后的数据,类型转换为元组,挨个放到一个列表装起来

实现:

方法一(传统方法):
# 定义一个空列表用来存放1-100之间的所有数
my_list = []
# 再定义一个列表用来存放最后的结果
self_list = []
# for循环来得出1-100之间的数
for i in range(1, 101):
    # 添加到my_list中
    my_list.append(i)
# 定义一个空列表  用来接收切片
new_list = []
# for循环来遍历1-100之间的数   步长为3
# 所有最后的结果为0,3,6,9.....
# 最后得出的0,3,6,9....可以用来当做我们的下标索引来进行切片
for j in range(0, len(my_list), 3):
    # 把my_list切出的三个为一组  放到一个列表new_list中
    new_list = my_list[j:j + 3]
    # 然后将new_list转化为元组  添加到self_list中
    self_list.append(tuple(new_list))
# 最后的出结果
print(self_list)
方法二(奥利给方法):
使用列表推导式来写
my_list=[i for i in range(1,101)]
self_list=[tuple(my_list[j:j+3]) for j in range(0, len(my_list), 3)]
print(self_list)

函数返回值

作用: 把函数的内部的数据抛到函数的外部途

定义格式:

def 函数名(形参1, 形参2, ...):
   代码逻辑
   return 数值

函数的返回值可以将调用函数的结果进行再次调用

def info(a, b):
    ret = a + b
    print(ret)
    return


sum = info(10, 20)
# 将调用函数的结果可以交给一个变量进行接收
# 没有返回值则不能再次调用
print(sum)

返回多个值的函数

多个返回值直接用逗号,隔开

案例:

#(一)
def func(a, b):
    a = a + 100
    b = b + 100
    c = a + b
    return a, b, c


# 对返回多个函数的函数调用
# 如果返回值放入一个变量中,则默认此变量为tuple类型,即多个返回值自动打包成tuple
rst = func(1, 2)
print(rst)
# 还可以用相同的序列变量来接收返回值
# 此时返回值会一对一存入相应变量
q, w, e = func(1, 2)
print(q, w, e)


# 多个返回值函数接受只能是一个tuple类型或者相同数量变量列表
# 否则出错
# 输出结果:
# (101, 102, 203)
# 101 102 203
#(二)
# 需求: 小明 20
# 利用函数:
# 我的名字叫做小明
# 我今年的年龄20岁
def deal_info(name, age):
    # 数据处理
    new_name = "我的名字叫做" + name
    new_age = "我今年的年龄%d岁" % age
    # 如果一个函数想返回多个数据, 只需要使用逗号把多个数据隔开即可
    # 默认返回的就是元组类型
    return new_name, new_age


ret = deal_info('小明', 20)
print(type(ret))
print(ret)

猜你喜欢

转载自blog.csdn.net/XVJINHUA954/article/details/107874304