python - 我们可以使用返回函数在新行中获取这些列表吗?
问题描述
我是 Python 新手,所以这个问题可能看起来很愚蠢。
我想在新行中打印(使用返回函数)每个列表,如果语句为真,则将字符串添加到列表中的一项:
row1=[1,2,3]
row2=[4,5,6]
row3=[7,8,9]
def return_func():
a=1
if a==1:
return row1[0]+'b',row1[1],row1[2]
return row2
return row3
这不起作用,如果有任何有效的方法,您可以在此处发布。谢谢
解决方案
这段代码有很多问题。
首先,您只能在函数期间返回某个时间点,然后函数结束。
如果要返回多个列表,则必须:
def return_lists():
return [1, 2, 3], [4, 5, 6], [7, 8, 9]
lst_1, lst_2, lst_3 = return_lsts()
如果你想打印东西,你必须使用print()
命令,而不是return
. return
完成函数并将结果发送回调用它的地方。
其次,你不能添加一个整数和一个字符串,如果你想将一个字符串添加到列表的第一个索引,你应该这样做:
lst_1 = [1, 2, 3]
lst_1[0] = str(lst_1[0]) + 'b'
最后,你不应该使用全局变量。您应该在调用函数时发送列表:
def return_lists(lst_1, lst_2, lst_3):
return lst_1, lst_2, lst_3
lst_1, lst_2, lst_3 = return_lists([1, 2, 3], [4, 5, 6], [7, 8, 9])
把所有东西放在一起:
def return_func(row1, row2, row3):
a=1
if a==1:
row1[0] = str(row1[0]) + 'b'
return row1, row2, row3
row1=[1,2,3]
row2=[4,5,6]
row3=[7,8,9]
row1_new, row2_new, row3_new = return_func(row1, row2, row3)
print(row1_new)
print(row2_new)
print(row3_new)
推荐阅读
- azure - 如何在 Azure AD for MS graph api 中为 grant_type 密码生成 access_token
- php - 从 DJI 无人机图像中获取 GPS 元数据
- webpack - 删除 webpack5 资产模块的部分路径
- dbeaver - 如何更改 dbeaver 首选项未固定选项卡自动关闭?
- spring-mvc - 在 AJAX 调用上将表单输入绑定到 Spring MVC 模型
- swift - Xcode 12 在模拟器中的分屏测试应用程序
- azure-active-directory - 如何在 Azure OIDC 中代表用户获取访问令牌
- css - facetwp模板中的网站响应问题
- asp.net - Href 链接到子文件夹
- node.js - MongoDB/Mongoose 更新整个子/嵌套文档