我是python新手,所以我可能使用了不正确的术语,但是如何“压缩”这些代码呢?在
for i in self.letterWord[0:1]:
if i == letter:
self.binaryWord[0] = 1
for i in self.letterWord[1:2]:
if i == letter:
self.binaryWord[1] = 1
for i in self.letterWord[2:3]:
if i == letter:
self.binaryWord[2] = 1
看起来像这样吗?在
^{pr2}$我试着用上面的代码,但它总是说
local variable 'i' referenced before assignment
然后,当我输入global i
时,它显示
global name 'i' not defined
嘿伙计们!谢谢你的回复!很抱歉提供了模糊的信息,谢谢你回答我的问题。在
首先,您建议的代码使用
i
来表示两个不同的东西。如果有的话,应该是:但同时,自荐信[0:1]将只包含一个项:自荐信[0]。如果超出范围就什么都没有。所以你根本不需要这些for循环。在
^{pr2}$您将其更改为使用i作为索引;这是否意味着存在一个外部循环?如果你在字母单词的长度上循环,你不需要我添加的长度检查。在
此外,循环访问列表的索引不是最佳实践,如果需要索引,请使用
enumerate
。在如果您现在正在创建binaryWord(您没有展示它是如何创建的),您可以将其创建为一个列表理解:
问题在于
是在使用},因此这是错误的来源。在
i
作为列表迭代器之前,i
需要查找{试试这样的方法:
^{pr2}$或者更好(如果可能,在一行代码中创建
self.binaryWord
)使用现有的设置,纯粹是为了压缩代码,您可以:
虽然您可以使用其他方法来构建这些对象,比如列表组件/将它们压缩在一起等等。。。在
相关问题 更多 >
编程相关推荐