Python如何将元组参数无括号传入多参数函数并实现无括号打印
问题解决方案
核心问题说明
AttributeError: 'list' object has no attribute 'strip'报错原因:strip()是字符串类型的专属方法,不能直接对元组/列表类型的变量调用- 你对传参的逻辑有误解:不需要把参数处理成无括号的字符串再传入函数,直接用Python内置的序列解包语法就可以把元组内的4个元素拆成4个独立的位置参数传给目标函数,完全符合参数要求。
正确实现代码
import pandas as pd # 假设这是你定义的接收4个参数的目标函数 def myFunction(arg1, arg2, arg3, arg4): # 此处写你的函数业务逻辑 pass def main(): run_list = [ ('file1.csv', 'file2.csv', pd.read_csv('file1.csv').columns[0], pd.read_csv('file2.csv').columns[0]), ('file3.csv', 'file4.csv', pd.read_csv('file3.csv').columns[0], pd.read_csv('file4.csv').columns[0]) ] for k in run_list: # 1. 解包元组为4个独立参数传入函数,直接满足传参要求 myFunction(*k) # 2. 无括号打印,两种写法任选 # 写法1:解包打印,自定义分隔符 print(*k, sep=', ') # 写法2:转字符串后截取掉首尾的括号 # print(str(k)[1:-1]) if __name__ == "__main__": main()
效果说明
运行后传参完全匹配myFunction的4参数要求,打印输出为你期望的无括号格式:
'file1.csv', 'file2.csv', 'column_name1', 'column_name2' 'file3.csv', 'file4.csv', 'column_name3', 'column_name4'
内容的提问来源于stack exchange,提问作者Mick
相关产品推荐
相关产品推荐

