向字典添加列表时,“TypeError:'NoneType'对象不可调用”

2024-10-03 13:30:26 发布

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

我正在创建一个将两个列表合并为一个字符串的函数,遇到了以下错误。在

Traceback (most recent call last):
  File "TraditionalRoute\BioKeywords.py", line 65, in <module>
    print(PrintKeyDefs())
  File "TraditionalRoute\BioKeywords.py", line 30, in PrintKeyDefs
    defsTwo = dict(map(None, letters, defsOne))
TypeError: 'NoneType' object is not callable

我的代码如下:

^{pr2}$

有人能建议一个可能的解决办法,因为我花了很长时间在这个问题上,还没有找到它。谢谢。在

编辑:忘了提到我使用的是python3


Tags: 函数字符串inpymost列表错误line
3条回答

#使用Zip()函数

#生成元组

x=zip(范围(5),范围(1,20,2)) 打印(“元组:”,元组(x))

#生成列表

x=zip(范围(5),范围(1,20,2)) 打印(“列表:”,列表(x))

#生成听写

x=zip(范围(5),范围(1,20,2)) 打印(“dictural:”,dict(x))

如果您使用的是python3,^{}的第一个参数应该是一个函数。您正在传递None,因此它尝试调用None。这与Python2中的不同,Python2将None视为标识函数(Python's 2 map)。在

Python2案例请参见Martijn Pieters's answer。在

如果您使用的是python2,那么map或{}将绑定到None。检查代码的其余以查找对任一名称的赋值。在

请注意,您可以使用map(None, iterable1, iterable2)来获得相同的输出,而不是map(None, iterable1, iterable2)。在

如果您使用的是Python 3,那么map()方法不支持None作为第一个参数:

>>> list(map(None, [1], [2]))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable

你当然想在那里使用zip()

^{pr2}$

相关问题 更多 >