是一种常见的数据处理需求。可以通过递归遍历嵌套列表的每个元素,并根据元素的类型应用相应的函数。
以下是一个示例代码,展示了如何对嵌套列表中的不同元素应用不同的函数:
def apply_functions(nested_list, func_dict):
result = []
for item in nested_list:
if isinstance(item, list):
result.append(apply_functions(item, func_dict))
else:
item_type = type(item).__name__
if item_type in func_dict:
result.append(func_dict[item_type](item))
else:
result.append(item)
return result
在上述代码中,nested_list
是待处理的嵌套列表,func_dict
是一个字典,其中键是元素类型的字符串表示,值是要应用的函数。
使用示例:
def square(x):
return x ** 2
def double(x):
return x * 2
def uppercase(s):
return s.upper()
nested_list = [1, [2, 3], 'hello', ['world', 5]]
func_dict = {
'int': square,
'str': uppercase
}
result = apply_functions(nested_list, func_dict)
print(result)
输出结果:
[1, [4, 9], 'HELLO', ['WORLD', 5]]
在这个示例中,对于整数类型的元素,应用了 square
函数,对于字符串类型的元素,应用了 uppercase
函数。对于其他类型的元素,保持不变。
对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但可以根据具体需求,在腾讯云官方网站上搜索相关产品,以获取更多信息。
领取专属 10元无门槛券
手把手带您无忧上云