使用 map() 将整数列表转换为字符串

Converting a list of integers to strings using map()

我不明白为什么 python 不允许我使用 map() 函数将整数列表更改为字符串列表。当我尝试在 python shell 中执行时,它工作正常,但当我在脚本中尝试时却不行,我真的很困惑为什么会发生这种情况。这是我的脚本代码:

def DashInsert(str):

    list_int = map(int, list(str))
    list_str = map(str, list_int)

    return list_str 

另外我知道我不需要将列表改回字符串,如果它已经以字符串形式出现,但我很好奇为什么 Python 不让我在转换后更改列表它变成一个整数列表。我一直收到 'str object is not callable' 错误。

当你这样做时:

def DashInsert(str):

您正在隐藏 DashInsert 范围内的 str 内置函数,因此当您尝试使用 list_str = map(str, list_int) 时,它不会按预期工作,因为 str不再是 Python 的内置函数,它等于您作为 str 传递给函数的对象。考虑重命名它,例如:

def DashInsert(text):
    list_int = map(int, list(text))
    list_str = map(str, list_int)
    return list_str