Python如何实现兼容元组、列表参数的合并拼接函数?
实现思路
你当前代码无法支持列表和元组混合传参的核心原因是:Python不允许不同序列类型(列表+元组)直接通过+运算符拼接,会直接触发类型错误。只需要调整拼接逻辑,先把两个参数统一转换为列表类型再拼接即可。
修改后代码
def sumup(arg1, arg2): combine_1 = list(arg1) + list(arg2) return combine_1
测试你给出的用例sumup((1,2,3), [565]),即可得到预期结果[1, 2, 3, 565],同时也完全兼容原来两个参数都是元组/都是列表的调用方式。
拓展方案(可选)
如果后续需要支持传入任意数量的列表/元组参数,可以改用可变参数实现,适配更多使用场景:
def sumup(*args): res = [] for arg in args: res.extend(list(arg)) return res
该版本支持sumup((1,2), [3,4], (5,6,7))这类多参数调用,返回合并后的完整列表。
内容的提问来源于stack exchange,提问作者Haliel Usiotu
相关产品推荐
相关产品推荐

