您需要使用
isinstance来检查元素是否为列表。另外,您可能希望遍历实际列表,以使事情变得更简单。
def nested_sum(L): total = 0 # don't use `sum` as a variable name for i in L: if isinstance(i, list): # checks if `i` is a list total += nested_sum(i) else: total += i return total

您需要使用
isinstance来检查元素是否为列表。另外,您可能希望遍历实际列表,以使事情变得更简单。
def nested_sum(L): total = 0 # don't use `sum` as a variable name for i in L: if isinstance(i, list): # checks if `i` is a list total += nested_sum(i) else: total += i return total