擅长:python、mysql、java
<p>问题还不够清楚,试着澄清错误是什么,或者你到底期望什么</p>
<p>如果您的意思是要检查字典“dict1”的项是否存在于字典“dict2”的项中,但其值不完全相同,则可以尝试以下方法:</p>
<pre><code>dict1 = {
'Alice': {'AGATC': '2', 'AATG': '8', 'TATC': '3'},
'Bob': {'AGATC': '4', 'AATG': '1', 'TATC': '5','jjj':'5'},
'Charlie': {'AGATC': '3', 'AATG': '2', 'TATC': '5'},
}
dict2 = {'Bob': {'AGATC': '4', 'AATG': '1', 'TATC': '5'}}
for i in dict1:
for j in dict2:
if set(dict2[j].items()).issubset(set(dict1[i].items())):
print(i)
</code></pre>
<p>输出:</p>
<pre><code>>>> Bob
</code></pre>
<p>但是,如果您想检查它是否存在完全相同的值,只需添加if语句:</p>
<pre><code>dict1 = {
'Alice': {'AGATC': '2', 'AATG': '8', 'TATC': '3'},
'Bob': {'AGATC': '4', 'AATG': '1', 'TATC': '5','jjj':'5'},
'Charlie': {'AGATC': '3', 'AATG': '2', 'TATC': '5'},
}
dict2 = {'Bob': {'AGATC': '4', 'AATG': '1', 'TATC': '5'}}
for i in dict1:
for j in dict2:
if set(dict2[j].items()).issubset(set(dict1[i].items())) and dict2[j] == dict1[i]:
print(i)
</code></pre>
<p>没有输出:</p>
<pre><code>>>>
</code></pre>