Python 使用map()将整数列表转换为字符串
我不明白为什么python不允许我使用map()函数将整数列表更改为字符串列表。当我尝试在pythonshell中实现它时,它工作得很好,但当我在脚本中尝试它时,我真的很困惑为什么会发生这种情况。以下是我的脚本代码:Python 使用map()将整数列表转换为字符串,python,dictionary,type-conversion,Python,Dictionary,Type Conversion,我不明白为什么python不允许我使用map()函数将整数列表更改为字符串列表。当我尝试在pythonshell中实现它时,它工作得很好,但当我在脚本中尝试它时,我真的很困惑为什么会发生这种情况。以下是我的脚本代码: def DashInsert(str): list_int = map(int, list(str)) list_str = map(str, list_int) return list_str 我也知道,如果列表已经作为字符串出现,我不需要将其更改
def DashInsert(str):
list_int = map(int, list(str))
list_str = map(str, list_int)
return list_str
我也知道,如果列表已经作为字符串出现,我不需要将其更改回字符串,但我很好奇为什么Python在将列表转换为整数列表后不允许我更改列表。我不断收到“str对象不可调用”错误。执行此操作时:
def DashInsert(str):
您正在对DashInsert
范围内的str
内建项进行跟踪,因此当您尝试使用list\u str=map(str,list\u int)
时,它将无法按预期工作,因为str
不再是Python的内建项,它等于您作为str
传递给函数的对象。考虑重命名它(如:)
def DashInsert(text):
list_int = map(int, list(text))
list_str = map(str, list_int)
return list_str
执行此操作时:
def DashInsert(str):
您正在对DashInsert
范围内的str
内建项进行跟踪,因此当您尝试使用list\u str=map(str,list\u int)
时,它将无法按预期工作,因为str
不再是Python的内建项,它等于您作为str
传递给函数的对象。考虑重命名它(如:)
def DashInsert(text):
list_int = map(int, list(text))
list_str = map(str, list_int)
return list_str
这很有效,谢谢!你能更详细地解释一下阴影概念吗?@ridwankazipython在分配任务时相当灵活。所以你可以做
int=float
,然后做int(3)
,你会得到float(3)
。。。一般的经验法则是避免将自己的变量命名为Python的内置变量…谢谢Jon,这很有意义。这很有效,谢谢!你能更详细地解释一下阴影概念吗?@ridwankazipython在分配任务时相当灵活。所以你可以做int=float
,然后做int(3)
,你会得到float(3)
。。。一般的经验法则是避免将自己的变量命名为Python的内置变量……谢谢Jon,这很有意义。