如何将列表元素值作为函数参数传递?代码输出不符问题
如何正确传递列表元素值给函数?
你遇到的问题很清晰:当前代码传递给test函数的是格式化后的字符串文本,而非列表里的实际元素值,所以才会输出code[0]这类内容,而非你期望的5、10、15。
问题根源
你写的test("code[%d]" %i)里,"code[%d]" %i只是把索引i拼进字符串里,生成的是类似"code[0]"的字符串字面量,并没有去访问列表code的对应元素。
解决方案1:通过索引获取元素传递
修改传递给test的参数,直接用code[i]获取列表对应索引的元素值:
def test(argu): print(argu, end=" ") # 用end=" "让输出在同一行,匹配你要的"5 10 15"格式 code = [5,10,15] length = len(code) for i in range(0,length): test(code[i]) # 这里传递的是列表的实际元素值
解决方案2:直接遍历列表元素(更Pythonic)
不需要手动处理索引和长度,直接遍历列表中的每个元素,代码更简洁易读:
def test(argu): print(argu, end=" ") code = [5,10,15] for num in code: # 直接迭代列表里的每个元素 test(num)
运行任意一段代码,都会输出你期望的:5 10 15
内容的提问来源于stack exchange,提问作者yadav
相关产品推荐
相关产品推荐

