擅长:python、mysql、java
<p>在IDLE中确认这提供了您想要的输出。另外,我更新了一些变量的名称,使其更易于理解。你知道吗</p>
<pre><code>my_list = [1,2,3,4,5,'1','2','3','4','nag','nag','venkat',5,6,7]
output_list = []
for i in my_list:
try:
if (str(i) not in output_list) and (int(i) not in output_list):
output_list.append(i)
except ValueError:
if i not in output_list:
output_list.append(i)
print output_list
</code></pre>
<p>在Python中,通常的做法是使用变量,假设它们是某个类型,只捕获错误,而不是检查每个变量的类型(<code>int</code>、<code>str</code>,等等)。这里,在<code>try</code>语句中,我假设循环变量<code>i</code>是只包含数字的<code>int</code>或<code>str</code>。如果是这样的话,这个部分就可以了。你知道吗</p>
<p>但是,我们知道列表包含一些字母字符串,因此<code>try</code>块将抛出一个<code>ValueError</code>。<code>except</code>块捕捉到了这一点,并且知道这个错误是由于试图将一个字母字符串转换为<code>int</code>(当我们使用<code>int(i)</code>)而导致的,现在我们可以安全地假设循环变量<code>i</code>引用一个字母字符串,然后根据<code>output_list</code>进行检查并在需要时进行追加。我希望这有帮助。你知道吗</p>