Python 将通用列表转换为列表 [str] (Python 2.7)
Python Conversion of Generic list to List[str] (Python 2.7)
我的代码遇到问题。我需要从字典中提取字符串列表(由方法 1 返回)并将其作为参数传递给方法 2。
viewerIDs = Parent.GetViewerList()
if (len(viewerIDs) <= 0):
return
viewerIDsNames = Parent.GetDisplayNames(viewerIDs)
viewerNames = []
for key in viewerIDsNames:
viewerNames.append(str(viewerIDsNames[key]))
#Get their ranks
viewerRanks = Parent.GetRanksAll (viewerNames)
我在最后一行收到以下错误
Expected List[str], got list
我尝试了以下方法来设置 viewerNames,但我遇到了同样的错误
#viewerNames = viewerIDsNames.items()
#viewerNames = list(viewerIDsNames.values())
#viewerNames = map(str,viewerIDsNames.values())
#viewerNames = [str(name) for name in viewerIDsNames]
任何人都可以指出我如何正确地转换它。
此致,
约书亚
我怀疑您是从 linter 而不是 Python 本身得到这个答案。你需要告诉 linter viewerNames
是 List[str]
viewerNames = [] # type: List[str]
一些 linter 尝试从第一次分配变量时就找出变量的类型,并且再也没有进一步查看。当您将 []
分配给 viewerName
时,linter 知道它是一个列表,但不知道列表中的内容。
我的代码遇到问题。我需要从字典中提取字符串列表(由方法 1 返回)并将其作为参数传递给方法 2。
viewerIDs = Parent.GetViewerList()
if (len(viewerIDs) <= 0):
return
viewerIDsNames = Parent.GetDisplayNames(viewerIDs)
viewerNames = []
for key in viewerIDsNames:
viewerNames.append(str(viewerIDsNames[key]))
#Get their ranks
viewerRanks = Parent.GetRanksAll (viewerNames)
我在最后一行收到以下错误
Expected List[str], got list
我尝试了以下方法来设置 viewerNames,但我遇到了同样的错误
#viewerNames = viewerIDsNames.items()
#viewerNames = list(viewerIDsNames.values())
#viewerNames = map(str,viewerIDsNames.values())
#viewerNames = [str(name) for name in viewerIDsNames]
任何人都可以指出我如何正确地转换它。
此致, 约书亚
我怀疑您是从 linter 而不是 Python 本身得到这个答案。你需要告诉 linter viewerNames
是 List[str]
viewerNames = [] # type: List[str]
一些 linter 尝试从第一次分配变量时就找出变量的类型,并且再也没有进一步查看。当您将 []
分配给 viewerName
时,linter 知道它是一个列表,但不知道列表中的内容。