回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p><code>group</code>函数从另一个大组中获取<code>pp</code>。我想让程序说如果<code>pp</code>中存在<code>rr</code>中的任何元素,我想拒绝它并再次调用pick函数。如果不在<code>rr</code>列表中添加<code>pp</code>。在</p>
<p>我有两张这样的单子:</p>
<pre><code>rr = [[1,2], [3,4], [5,6], [7,8]]
pp = [[7,9], [10, 11]]
</code></pre>
<p>我有这个功能:</p>
^{pr2}$
<p>这里<code>rr</code>包含{<cd2>}中存在的7,必须拒绝。但问题是它仍然被接受。并且<code>rr</code>仍然被这个错误的<code>pp</code>所附加。在</p>
<p>如果我这样做:</p>
<pre><code>for i in pp:
for j in i:
for k in rr:
for h in k:
while h == j:
pp = group(seq, 2)
rr.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(pp)
else:
rr.append(pp)
</code></pre>
<p>它仍然会在没有任何输出的情况下永远运行。在</p>
<p>这是我的解决方案,有效,但我无法回答:</p>
<pre><code>rr1 = [[1,2], [3,4], [5,6], [7,8]]
pp1 = [[7,9], [10, 11]]
# if any(p in rr for p in pp):
# print("cant append") #this will send it back to the function to pick up new pp
# elif any((i in p for i in range(len(pp))) in (j in rr for j in range(len(rr))) for p in pp ):
# print("cant append")
# else:
# rr.extend(pp)
def is_true(pp , rr):
for i in pp:
for j in rr:
if any(p in j for p in i):
return False
return True
def ext (pp , rr , tt ):
if tt == True:
rr.extend(pp)
else:
print("cant append")
tt = is_true(pp1, rr1)
ext(pp1, rr1, tt)
print(rr1)
</code></pre>