欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-23 09:06:29
【循序渐进学Python】Python中的函数(五)——列表推导式与函数的返回值列表推导式作用:轻量级循环创建列表(快速的创建一个有规律的列表)案例:需求:将1-100之间的所有数字三三分开 分别装到一个元组中然后再将所有元组放到一个列表中思路:先利用列表推导式来列出1-100之间的所有的数然后遍历列表中的数,步长为3for循环出的数可以作为切片的索引然后把切片后的数据,类型转换为元组,挨个放到一个列表装起来实现:方法一(传统方法):# 定义一个空列表用来存放1-...

【循序渐进学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)

本文地址:https://blog.csdn.net/XVJINHUA954/article/details/107874304