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