PyCharm中同时使用dict函数与lambda函数告警

114 阅读1分钟

1、背景:

在熟悉部门仿真平台(python语言)的代码时,在pycharm中发现了一行告警(不影响运行结果),尝试多次消除该告警,最终成功。上网查询了一番,发帖的人比较少,但找到了一个不同代码但相似告警的帖子,发现还没有解决,于是也进行了回帖,特此记录。

1.1告警信息:

Unexpected type(s): (map[list]) Possible type(s): (SupportsKeysAndGetItem[list, _VT]) (Iterable[tuple[Any, Any]])

1.2相关帖子:

点击查看,打不开的话需要科学上网。 StackOverFlow

1.3原贴截图:

image.png Pycharm中的告警如下: image.png

2、解决:

2.1、修改代码:

替换为如下写法:

dict(map(lambda ele: (ele[0], ele[1]), sorted(x.items(), key=lambda item: item[1])))

运行如下代码:

if __name__ == "__main__":
    x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

    print(dict(sorted(x.items(), key=lambda item: item[1])))

    print(dict(map(lambda ele: (ele[0], ele[1]), sorted(x.items(), key=lambda item: item[1]))))

结果如图:

image.png

2.2、升级PyCharm版本到2023年以后的

因为貌似是PyCharm编辑器的问题。