<p>在删除项目之前,您的代码似乎正在打印。我想如果你把这些话换个说法会管用的。你知道吗</p>
<p>复制列表的更好方法可能是:</p>
<pre><code>tmp_keys = list(keys)
</code></pre>
<p>就像说<code>tmp_keys = keys</code>只是为<code>tmp_keys</code>同一个列表做了另一个标记<code>keys</code></p>
<p>示例:</p>
<pre><code>>>> a = [1,2,3]
>>> b = a
>>> print a
[1,2,3]
>>> print b
[1,2,3]
>>> b.append(4)
>>> print a
[1,2,3,4]
>>> print b
[1,2,3,4]
</code></pre>
<p>你也可以这样做:</p>
<pre><code>from itertools import combinations
keys = ['Messi', 'Neymar', 'Xavi', 'Iniesta']
c = combinations(keys, 3)
>>> for i in c:
... print i
('Messi', 'Neymar', 'Xavi')
('Messi', 'Neymar', 'Iniesta')
('Messi', 'Xavi', 'Iniesta')
('Neymar', 'Xavi', 'Iniesta')
for comb in c:
for name in keys:
if name not in comb:
print "{0} is out".format(name)
print list(comb) # without list() you will just get tuples
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>Iniesta is out
['Messi', 'Neymar', 'Xavi']
Xavi is out
['Messi', 'Neymar', 'Iniesta']
Neymar is out
['Messi', 'Xavi', 'Iniesta']
Messi is out
['Neymar', 'Xavi', 'Iniesta']
</code></pre>