擅长:python、mysql、java
<p>您的代码有几个语法问题和一些逻辑问题。另外,您没有正确地使用<a href="http://www.diveintopython.net/object_oriented_framework/defining_classes.html" rel="nofollow"><strong>^{<cd1>}</strong></a>,仅仅给它一个<code>pass</code>不是一个好的做法。另一件事是使用<a href="https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions" rel="nofollow"><strong>^{<cd3>}</strong></a>作为<code>check_pass</code>方法。我对你的代码做了一些修改:</p>
<pre><code>class StringChecker(object):
def __init__(self, people_text):
self.people_text = people_text
def check_pass(self):
return [k for k, v in self.people_text.items() if v == "pass"]
if __name__ == "__main__":
sc = StringChecker({'Mia': 'pass', 'Mike': 'fail', 'Jack': 'pass'})
print sc.check_pass()
</code></pre>
<p>输出:</p>
<pre><code>['Mia', 'Jack']
</code></pre>
<p><strong>注</strong>:更新了列表理解,并提供了来自JLPeyret的建议</strong></p>