📜  * 之后的 _reverse_with_prefix() 参数必须是可迭代的,而不是 int - Python (1)

📅  最后修改于: 2023-12-03 14:59:00.242000             🧑  作者: Mango

Python异常:TypeError: 'int' object is not iterable

在Python编程过程中,可能会遇到“TypeError: 'int' object is not iterable”异常提示。这个异常提示是由于一个整数类型的对象被当作迭代对象被传递给一个函数,而该函数却期望传递一个可迭代的对象。

可能出现此错误的函数是:

def _reverse_with_prefix(prefix, *args):
    return prefix + ''.join(str(arg) for arg in reversed(args))

在该函数中,当prefix参数后面的args参数为单个整数时,如下:

result = _reverse_with_prefix('>>>', 123)

就会提示TypeError: 'int' object is not iterable异常。

因为,join()方法只能接受一个可迭代的对象作为参数,而整数类型的对象无法迭代。

为了解决这个问题,我们需要将整数类型的对象转换成可迭代的对象。以下是两种解决方案:

  1. 将整数类型的对象转换成字符串类型的对象
result = _reverse_with_prefix('>>>', str(123))
  1. 将整数类型的对象放入一个列表中
result = _reverse_with_prefix('>>>', [123])

以上两种解决方案,会将整数类型的对象转换成可迭代的对象,从而避免出现“TypeError: 'int' object is not iterable”异常提示。

参考文献:

  • https://www.jianshu.com/p/984d3e0e886c

返回的markdown格式:

Python异常:TypeError: 'int' object is not iterable

在Python编程过程中,可能会遇到TypeError: 'int' object is not iterable异常提示。这个异常提示是由于一个整数类型的对象被当作迭代对象被传递给一个函数,而该函数却期望传递一个可迭代的对象。

可能出现此错误的函数是:

def _reverse_with_prefix(prefix, *args):
    return prefix + ''.join(str(arg) for arg in reversed(args))

在该函数中,当prefix参数后面的args参数为单个整数时,如下:

result = _reverse_with_prefix('>>>', 123)

就会提示TypeError: 'int' object is not iterable异常。

因为,join()方法只能接受一个可迭代的对象作为参数,而整数类型的对象无法迭代。

为了解决这个问题,我们需要将整数类型的对象转换成可迭代的对象。以下是两种解决方案:

  1. 将整数类型的对象转换成字符串类型的对象
result = _reverse_with_prefix('>>>', str(123))
  1. 将整数类型的对象放入一个列表中
result = _reverse_with_prefix('>>>', [123])

以上两种解决方案,会将整数类型的对象转换成可迭代的对象,从而避免出现TypeError: 'int' object is not iterable异常提示。

参考文献:

  • https://www.jianshu.com/p/984d3e0e886c