Python调用keys()传参触发TypeError的原因排查
解决TypeError: keys() takes no arguments (1 given)的问题
嘿,我来帮你搞定这个报错!你遇到的TypeError: keys() takes no arguments (1 given),原因其实很直白——你错误地给字典的keys()方法传了参数i,但实际上这个方法完全不需要任何参数。
为什么会报错?
在Python里,字典的keys()方法的作用是返回一个包含字典所有键的视图对象,它的设计就是不需要接收任何参数。你在循环里写dictionary.keys(i),相当于硬给这个方法塞了一个它根本不接受的参数,Python自然会抛出错误提示你这一点。
修正后的代码方案
这里有两种简单的修正方式,选哪种都可以:
- 正确调用
keys()方法(不传参),然后遍历返回的键视图:
elif choice == "5": print("\nOto wszystkie terminy znajdujace sie w slowniku:") for key in dictionary.keys(): print(key)
- 更简洁的写法——直接遍历字典本身,因为Python中遍历字典默认就是遍历它的键:
elif choice == "5": print("\nOto wszystkie terminy znajdujace sie w slowniku:") for key in dictionary: print(key)
内容的提问来源于stack exchange,提问作者Krzysiek Partyka
相关产品推荐
相关产品推荐

