我在下面有一些代码,如果您是python新手,我认为这有点难以理解
我该如何让一群python新手(学生)更容易阅读呢
def right_inwrongplace(userGuess, number):
correct_places = [True if v == number[i] else False for i, v in enumerate(userGuess)]
g = [v for i, v in enumerate(userGuess) if not correct_places[i]]
n = [v for i, v in enumerate(number) if not correct_places[i]]
return len([i for i in g if i in n])
以下是一些改进:
True if x else False
只是bool(x)
,或者,当您已经在做比较时,只是那个表达式,即v == number[i]
李>zip
这两个序列李>所以第一次你会得到:
与
zip
相同的参数适用于以下两种理解(您可以再次迭代原始字符串):考虑到这两次基本上是相同的理解,并且我们不再需要
correct_places
,我们可以做以下操作:然后您可以
sum
而不是len
:因此,基本上可以使用以下代码:
相关问题 更多 >
编程相关推荐