3 回答
![?](http://img1.sycdn.imooc.com/545862370001b03502200220-100-100.jpg)
TA贡献1875条经验 获得超5个赞
错误行是
duplicates_removed = clean_strings
您可能希望将函数的结果存储在duplicates removed
. 为此,您需要执行以下操作:
duplicates_removed = clean_strings(states_1, clean_ops)
请注意我之前如何“合并”该行。在原来的行中,您实际上在里面放入了一个函数对象duplicates_removed
- 它不是函数的结果,而是函数对象本身。
该行clean_strings(states_1, clean_ops)
调用函数,但不存储函数结果的任何地方
我也没有看到你states_1
在代码中定义的位置,我猜是之前?
![?](http://img1.sycdn.imooc.com/5458632800010f8802200220-100-100.jpg)
TA贡献1824条经验 获得超8个赞
clean_strings(states_1, clean_ops)调用该函数但不将返回值保存到任何变量。
duplicates_removed = clean_strings只是指向该函数而不调用它,因为它没有 ()
使固定:
duplicates_removed = clean_strings(states_1, clean_ops)
duplicates_removed = list(dict.fromkeys(duplicates_removed))
print(duplicates_removed)
![?](http://img1.sycdn.imooc.com/545863080001255902200220-100-100.jpg)
TA贡献1805条经验 获得超10个赞
duplicates_removed = clean_strings
duplicates_removed = list(dict.fromkeys(duplicates_removed))
print(duplicates_removed)
您正在将函数的引用传递clean_strings给dict.fromkeys! ^^
这:
duplicates_removed = clean_strings(states_1, clean_ops)
duplicates_removed = list(dict.fromkeys(duplicates_removed))
print(duplicates_removed)
就可以解决问题了:)
添加回答
举报