泛型列表到列表[str]的Python转换(Python 2.7)

2024-09-30 12:18:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码有问题。其中,我需要从dictionary中提取字符串列表(由方法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]

有人能指出我怎样才能正确地施展这个吗

问候,, 约书亚


Tags: 方法key代码nameinfordictionary错误
1条回答
网友
1楼 · 发布于 2024-09-30 12:18:38

我怀疑你是从一个局外人那里得到这个答案的,而不是从Python本身。您需要告诉linter viewerNamesList[str]

viewerNames = []  # type: List[str]

一些过梁工试图从变量第一次被赋值时就找出它的类型,并且再也不看了。当您将[]分配给viewerName时,linter知道它是一个列表,但不知道列表中有什么

相关问题 更多 >

    热门问题